2011-08-08 36 views
7

Tôi đang cố gắng vô hiệu hóa hộp kiểm, nhưng tôi gặp lỗi và không thể tìm ra những gì tôi đang làm sai. Mã của tôi là thế nàyVô hiệu hóa hộp kiểm trong mvc3

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

mà như xa như tôi có thể nói, xét xử của những giải thích khác làm thế nào để vô hiệu hóa một hộp kiểm, nên làm việc. Tuy nhiên, tôi nhận được lỗi này:

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

Bất kỳ ý tưởng nào? Cảm ơn bạn.

Trả lời

10

Trình trợ giúp hộp kiểm kỳ vọng giá trị boolean làm tham số thứ hai. Hãy thử như thế này:

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

hoặc nếu đây là một trình soạn thảo mẫu gõ mạnh lên boolean:

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

Ahh, cảm ơn bạn. Tôi hiểu những gì đang xảy ra. Phân tích cú pháp FormattedModelValue dưới dạng bool không hoạt động, bởi vì nó đã là một bool, nhưng đúc nó thành (bool) ViewData.TemplateInfo.FormattedModelValue đã làm. Cảm ơn một lần nữa vì sự giúp đỡ – stacy

Các vấn đề liên quan