2010-01-29 2 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

Что такое ваш doctype? –

+0

Также у вас есть аннотации данных на вашей модели? –

+0

Я сомневаюсь, что это выводит это напрямую. Насколько я помню, ваш вызов HtmlHelper по умолчанию отображал бы флажок без атрибута checked = "checked", и я подозреваю, что длина = "4" тоже происходит из другого места. Возможно, вы захотите дважды проверить свой код. – Chris

ответ

1

Я предполагаю, что это соответствие подписи, которая принимает строку и объект, так как я не знаю, что такое Model.Medicamentos. В этом случае он принимает свойства объекта и превращает их в атрибуты элемента. Я подозреваю, что вы просто хотите использовать атрибут Checked на Типовом имущества, указанного в качестве значения по умолчанию флажком, т.е.

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

В, этом случае, если предположить, что Checked булева будет соответствовать правильный метод подписи на вспомогательном расширении.

+0

Ах! Да, перегрузка, вызывающая неправильный метод CheckBox, - хорошая догадка, я думаю, что вы правы. (Эти аргументы «Object» на основе отражения опасны!) – bobince

Смежные вопросы