2011-06-15 55 views
1

我有局部視圖用於編輯彈出對話框中的人員詳細信息,但他們也希望具有「顯示」模式,該模式禁用了所有可編輯文本框,dropdownlistbox和鏈接查看,有人可以告訴我,我可以做到這一點是多麼容易(不使用javascript)用於顯示和編輯的MVC相同視圖

回答

0

你可以使用與條件相同的視圖來禁用編輯器,但這很容易混亂。更好的方法是爲可編輯視圖創建一個單獨的cshtml文件,並在對View或RenderPartial的調用中指定適當的視圖名稱。

+1

這意味着我必須創建完全相同的標記,只需要額外的CSS屬性,如disabled =「disabled」或readonly =「true」,這就是我目前所做的。我問的原因是因爲我最近收到了一個請求來改變這種觀點(我們在應用中有很多)。我正在尋找更好的實施方法。 – Vincent 2011-06-15 06:44:04

+0

您應該爲只讀視圖使用顯示模板,併爲可寫視圖(例如表單)使用編輯器模板。你不應該手動添加禁用的類(除非這是你之後的實際視覺效果) – RPM1984 2011-06-15 07:37:20

+0

這樣做的方式看起來很糟糕,與可編輯的東西的文本框相比,只是文本的東西,你不能改變。如果這就是你的客戶真正想要的東西,那麼使用條件可能是合理的(儘管我會使用語法'class ='@(Model.IsEditable?「enabled」:「disabled」)''。即使這樣,它可能會更好使用單獨的模板 - 這不是重複的重複,並且當客戶端意識到組合版本看起來有多糟糕時,它很容易改進。 – 2011-06-15 07:51:27

相關問題