2016-01-08 2 views
0

У меня есть условное требование:MVC Защищенное не работает 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 и устанавливаю его только для чтения, но выглядит глупо.

ответ

1

Вы можете добавить скрытый вход для значения

@Html.HiddenFor(x => x.CandidateType) 

или стиль элемент, созданный TextBoxFor(), чтобы удалить границы, отступы и т.д., если вы хотите казаться выглядеть как элемент, созданный DisplayTextFor()