2012-10-22 113 views
2

我正在使用MVC。在視圖中有複選框,所以我想使它只讀或用戶不能更改它..如何創建只讀複選框MVC?

這是我的看法

 <tr id="pnHireSet"> 
       <td class="adminTitle"> 
        @Html.LabelFor(model => model.IsHireSet): 
       </td> 
       <td class="adminData"> 
        @Html.EditorFor(model => model.IsHireSet) 

//This is check box. I want set is read only.... 
        @Html.ValidationMessageFor(model => model.IsHireSet) 
       </td> 
      </tr> 

我該怎麼辦呢? Thankx。

回答

14

只需使用DisplayFor而不是EditorFor

如果您需要將值包含在表單提交中,您也可以添加HiddenFor

<td class="adminData"> 
    @Html.DisplayFor(model => model.IsHireSet) 
    @Html.HiddenFor(model => model.IsHireSet) 
</td> 
1

如果你希望顯示的複選框,但複選框的控制,然後之交簡單,你可以嘗試

@Html.CheckBoxFor(model => model.IsActive, new { onclick = "return false" }) 

我不喜歡,因爲如果你需要的複選框值使用disable=false服務器然後禁用總是發送錯誤或者它的意見作爲簽入狀態,這是問題和不同。