(Я новичок в MVC).
В моем приложении у меня нет модели в смысле класса со свойствами. О нет, это намного проще: мои пользователи в основном заполняют кучу строковых значений для разных ключей, устанавливаемых в другом месте в системе (ключи произвольны и не известны заранее, поэтому нет предварительно кодированного класса) 1.
Моя "модель", таким образом, справедлива:
Dictionary<string, string>
Довольно просто.
Как я понимаю, привязка модели, html-помощники, состояние модели, сводки валидации все опираются на отражение свойств произвольного класса. Но могут ли они просто использовать ключ/значения в моем словаре?
Например, могу ли я:
<label for="Name">Name:</label>
<%= Html.TextBox("Name") %>
<%= Html.ValidationMessage("Name", "*") %>
и
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(Dictionary<string, string> valuesEntered)
{
// ...
}
и MVC использует ключ/значение "Name"
, найденный в моей модели Dictionary<string, string>
, чтобы выполнить все его закулисную магию? (MVC 1.0 предпочтительнее, но прошу пролить немного света, если это лучше рассмотреть в версии 2.0, как мне все еще хотелось бы знать)?
1: звучит глупо, я уверен. Это приложение для отчетов, где "ключи" - это имена параметров отчета, а "значения" - значения, с которыми будет работать отчет.