2010-01-29 47 views
2

由於某種原因,一個html助手正在輸出這個不驗證的html。asp.net mvc和有效的xhtml?

驗證告訴我

沒有屬性 「長度」

<%= Html.CheckBox("Medicamentos", Model.Medicamentos) %> 

正在輸出

<input type="checkbox" value="true" name="Medicamentos" id="Medicamentos" checked="checked" length="4"> 
+0

什麼是您的文檔類型? – 2010-01-29 22:20:19

+0

另外,你有模型上的數據註釋嗎? – 2010-01-29 22:22:36

+0

我懷疑它是直接輸出。據我記得,你的HtmlHelper調用默認情況下會呈現一個沒有checked =「checked」屬性的複選框,並且我懷疑length =「4」也是來自其他地方。你可能想仔細檢查你的代碼。 – Chris 2010-01-29 22:23:12

回答

1

我認爲它的匹配,需要一個字符串簽名和一個對象,因爲我不知道什麼Model.Medicamentos是。在這種情況下,它獲取對象的屬性並將它們轉換爲元素上的屬性。我懷疑你只是想用Checked屬性上指定爲複選框的默認值,即Model屬性,

<%= Html.CheckBox("Medicamentos", Model.Medicamentos.Checked) %> 

在,這種情況下,假設Checked是布爾它將匹配正確的方法簽名在助手的擴展。

+0

啊!是的,導致錯誤的CheckBox方法發生的重載 - 很好的猜測,我認爲你是對的。 (那些基於反射的'Object'參數是危險的!) – bobince 2010-01-29 23:25:34