如何在mvc表单上管理条件启用/禁用状态?

时间:2010-10-01 16:24:27

标签: c# asp.net-mvc asp.net-mvc-2 web-applications

我正在构建一个包含许多面板和许多控件的窗体(面板内外)。必须启用/禁用面板和控件以进行编辑(并且可能已禁用具有上一个选定值的版本),具体取决于模型状态,其他面板的状态以及它们自己的业务规则验证。到目前为止,我们已经创建了许多具有相同控件(多个.aspx)的面板,以便在我们想要根据模型状态和业务条件(等)时添加它们。我认为它可以以更好的方式完成......(即使用ModelState并操纵其键或根据标准禁用表单验证....)。所以:

  1. 是否可以控制模型中的哪些字段将通过每个帖子进行验证?
  2. 是否可以根据模型的状态禁用查看控件(包括版本和验证)?
  3. 如果1和2的答案为“NO”,那么如何使用模型的状态启用/禁用控件?

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式控制是否根据模型的状态显示和/或验证字段:

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