Я нахожусь на проекте asp.net MVC 2 и имею представление, которое наследуется от System.Web.Mvc.ViewPage . Я хотел бы сделать что-то вроде ниже:
public ActionResult Index()
{
dynamic model = new {Value1= string.Empty, Value2= string.Empty};
return View(model);
}
[HttpPost]
public ActionResult Index(dynamic model)
{
var value1 = model.Value1;
var value2 = model.Value2;
// do something here.
}
На мой взгляд, в настоящее время у меня есть следующее:
<% using(Html.BeginForm("Index", "Test"))
{
%>
<div>
<label for="Value1">Value1:</label>
<%=Html.TextBox("Value1", Model.Value1 as string) %>
</div>
<div>
<label for="Value2">Value2:</label>
<%=Html.Password("Value2", Model.Value2 as string) %>
</div>
<div>
<input type="submit" value="Submit" />
</div>
<% } %>
Приведенный выше код выдает ошибку «объект не содержит определения« Value1 »и выделяет строку Html.TextBox для Value1.
Я попытался написать свою собственную HTML-форму и входные теги (не забудьте включить атрибуты name и id) и установить значение Model.Value1 и Model.Value2. Это работает для визуализации страницы (и проверки значений); однако при отправке я получаю ту же ошибку, что и раньше.
Можно ли использовать анонимные и / или динамические типы для моих моделей представления в ASP.Net MVC2 или я вынужден написать тонну DTO, которых я надеюсь избежать.