我有条件要求:
[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并将其设置为只读,但它看起来很傻。
答案 0 :(得分:1)
您可以为值
添加隐藏输入@Html.HiddenFor(x => x.CandidateType)
或设置TextBoxFor()
创建的元素的样式,以删除边框,填充等,如果您希望看起来像DisplayTextFor()