Я просмотрел большинство примеров ModelBinding, но, похоже, не могу найти то, что я ищу.Добавление нескольких префиксов в DefaultModelBinder MVC2
Я хотел бы:
<%= Html.TextBox("User.FirstName") %>
<%= Html.TextBox("User.LastName") %>
связываться с этим методом на пост
public ActionResult Index(UserInputModel input) {}
где UserInputModel является
public class UserInputModel {
public string FirstName {get; set;}
public string LastName {get; set;}
}
Соглашение состоит в том, чтобы использовать имя класса Санс " InputModel ", но я бы не хотел указывать это каждый раз с помощью BindAttribute, то есть:
public ActionResult Index([Bind(Prefix="User")]UserInputModel input) {}
Я попытался переопределить DefaultModelBinder, но, похоже, не нашел подходящего места для ввода этой крошечной функциональности.
Это полезно знать и делает мою задачу более управляемой. Хотя мне все равно хотелось бы знать, можно ли это сделать за кулисами процесса привязки модели, поскольку для атрибута требуются постоянные значения. –
Возможно, мой оригинальный вопрос не ясен. Я хотел бы знать, КАК извлечь из DefaultModelBinder и добавить эту дополнительную префиксную проверку там, в зависимости от типа модели. –