Как управлять условным включением / отключением состояния в форме MVC? - PullRequest
0 голосов
/ 01 октября 2010

Я строю форму с множеством панелей и множеством элементов управления (как внутри, так и снаружи панелей). Панели и элементы управления должны быть включены / отключены для редакции (и, вероятно, отключены для редакции с последним выбранным значением) в зависимости от состояния модели, состояния другой панели и их собственной проверки бизнес-правил. До сих пор мы создавали множество панелей с одинаковыми элементами управления (много .aspx), чтобы добавлять их, когда мы хотим, в соответствии с состоянием модели и условиями бизнеса (и т. Д.). Я думаю, что это может быть сделано лучше ... (т.е. используя ModelState и манипулируя его ключами или отключая проверку формы на основе критериев ....). Итак:

  1. Можно ли контролировать, какие поля в модели будут проверяться с каждым сообщением?
  2. Можно ли отключить просмотр элементов управления (как для редакции, так и для проверки) в зависимости от состояния модели?
  3. Если ответ «НЕТ» для 1 и 2, как бы вы включили / отключили элементы управления, используя состояние модели?

1 Ответ

0 голосов
/ 01 октября 2010

Вы можете контролировать, будут ли поля отображаться и / или проверяться на основе состояния модели, следующим образом:

<%if (Model.SomeProperty==someValue){%>
   <%: Html.TextBoxFor(blah=> blah....)...%>
   <%if (Model.OtherProperty==otherValue){%>
      <%: Html.Validator...%>
   <%}%>
<%}%>
...