Результаты поиска
Asp.net MVC User Control ViewData
Когда контроллер отображает представление на основе модели, вы можете получить свойства из коллекции ViewData с помощью индексатора (т. е. ViewData["Property"]). Однако у меня есть общий пользовательский элемент управления, который я попытался вызвать, используя следующее:
return View("Message", new { DisplayMessage = "This is a test" });
и на моем пульте управления сообщениями у меня было это:
<%= ViewData["DisplayMessage"] %>
Я думаю, что это будет правильно отображать DisplayMessage, однако null возвращается. После большой дозы возни вокруг, я, наконец, создал класс "MessageData" для того, чтобы строго ввести свой пользовательский элемент управления:
public class MessageControl : ViewUserControl<MessageData>
и теперь этот звонок работает:
return View("Message", new MessageData() { DisplayMessage = "This is a test" });
и может отображаться следующим образом:
<%= ViewData.Model.DisplayMessage %>
Почему бы не добавить свойство DisplayMessage к свойству ViewData (т. е. ViewData["DisplayMessage"]) сбор без сильного ввода пользовательского элемента управления? Это что, специально придумано? Разве не логично, что ViewData будет содержать ключ для "DisplayMessage"?