2011-03-14 178 views
1

關於如何利用HTML助手呈現「詳細信息」視圖,我幾乎找不到任何地方。第一種情況是我在SQL Server中有一些位於我的pocos中的bools字段。這一切都適用於創建和編輯視圖,但如果我想要一個複選框顯示在細節視圖與它的適當的狀態設置,但只讀...我無法弄清楚如何做到這一點。雖然它呈現正確的複選框是不是隻讀MVC3「詳細信息」視圖中的HTML.Checkbox

<div class="display-field">@Html.CheckBox("laptops", Model.laptops, new { @readonly = "true" }) </div> 

:我這有。

與處理創建/編輯DropDowns的字段相同,但詳細信息視圖的最佳做法如何?將FK解析爲代表該值的可顯示名稱的最佳方法是什麼?

在此先感謝

+0

當你運行這個頁面生成的代碼/ html是什麼樣的?你能補充一點嗎? – BentOnCoding 2011-03-14 15:40:13

回答

3

呈現一個只讀複選框,正確的方法是這樣的:

@Html.CheckBoxFor(x => x.laptops, new { @readonly = "readonly" }) 

通知的強烈的使用類型CheckBoxFor幫手,而不是CheckBox因爲你已經有一個強類型視圖。很顯然,爲了這個工作,你模型上的laptops屬性必須是布爾類型,因爲這是唯一可能對複選框有意義的類型。

1

當您設置READONLY時,它只會阻止用戶對基礎數據進行任何更改,但他們仍然可以選中/取消選中該字段。 設置Disabled屬性以防止它們像這樣的控件進行交互:

@Html.CheckBox("check", item.CheckedOrNot, new { @disabled = true }) 

好運,乾杯!