2011-08-08 52 views
7

我試圖禁用複選框,但是出現錯誤,無法弄清楚我做錯了什麼。我的代碼是這樣的禁用mvc3中的複選框

@Html.CheckBox("", ViewData.TemplateInfo.FormattedModelValue, new { @disabled = true }) 

據我所知,通過其他解釋如何禁用複選框,應該工作。然而,我得到這個錯誤:

CS1928: 'System.Web.Mvc.HtmlHelper' does not contain a definition for 'CheckBox' and the best extension method overload 'System.Web.Mvc.Html.InputExtensions.CheckBox(System.Web.Mvc.HtmlHelper, string, bool, object)' has some invalid arguments

任何想法?謝謝。

回答

10

CheckBox助手需要一個布爾值作爲第二個參數。試試這樣:

@Html.CheckBox(
    "", 
    bool.Parse((string)ViewData.TemplateInfo.FormattedModelValue), 
    new { disabled = "disabled" } 
) 

,或者如果這是一個強類型的編輯模板boolean

@model bool 
@Html.CheckBox("", Model, new { disabled = "disabled" }) 
+0

啊,謝謝。我明白現在發生了什麼事。 解析FormattedModelValue作爲布爾不起作用,因爲它已經是一個布爾,但將它轉換爲(布爾)ViewData.TemplateInfo.FormattedModelValue做。再次感謝您的幫助 – stacy