MVC Foolproof不适用于DisplayTextFor

时间:2016-01-08 18:55:46

标签: asp.net-mvc-4 foolproof-validation

我有条件要求:

 [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并将其设置为只读,但它看起来很傻。

1 个答案:

答案 0 :(得分:1)

您可以为值

添加隐藏输入
@Html.HiddenFor(x => x.CandidateType)

或设置TextBoxFor()创建的元素的样式,以删除边框,填充等,如果您希望看起来像DisplayTextFor()

创建的元素