MVC 万无一失不适用于 DisplayTextFor
MVC Foolproof not working for DisplayTextFor
我有条件要求:
[Display(Name = "Contract Number:")]
[RequiredIf("CandidateType", "Contractor")]
public string ContractNumber { get; set; }
并且在视图中:
@Html.DisplayTextFor(x => x.CandidateType)
<td>
@Html.DisplayNameFor(x=>x.ContractNumber)<br />
@Html.ValidationMessageFor(x=>x.ContractNumber)
</td>
<td>
@Html.TextBoxForWithTitle(x=>x.ContractNumber, new { @id = "txtContractNumber", @class = "textNormal"})
</td>
但是验证失败,因为帮助者的显示没有字段名称。你如何解决这个问题?如果我使用 TextBoxFor 并将其设置为只读,它会起作用,但它看起来很傻。
您可以为值添加隐藏输入
@Html.HiddenFor(x => x.CandidateType)
或设置由 TextBoxFor()
创建的元素的样式以删除边框、填充等,如果您想看起来像 DisplayTextFor()
创建的元素
我有条件要求:
[Display(Name = "Contract Number:")]
[RequiredIf("CandidateType", "Contractor")]
public string ContractNumber { get; set; }
并且在视图中:
@Html.DisplayTextFor(x => x.CandidateType)
<td>
@Html.DisplayNameFor(x=>x.ContractNumber)<br />
@Html.ValidationMessageFor(x=>x.ContractNumber)
</td>
<td>
@Html.TextBoxForWithTitle(x=>x.ContractNumber, new { @id = "txtContractNumber", @class = "textNormal"})
</td>
但是验证失败,因为帮助者的显示没有字段名称。你如何解决这个问题?如果我使用 TextBoxFor 并将其设置为只读,它会起作用,但它看起来很傻。
您可以为值添加隐藏输入
@Html.HiddenFor(x => x.CandidateType)
或设置由 TextBoxFor()
创建的元素的样式以删除边框、填充等,如果您想看起来像 DisplayTextFor()