I cant bind event to @html.editorfor
I've heard it might be connected to presence of "class" attribute but I can see no connection whatsoever.
@Html.EditorFor(model => model.SameAsBaseAddress, new { @onclick = "checkboxcheck()" })
function checkboxcheck() {
//blah...
}
When I debug with firebug and add handler manually all works fine. TextBoxFor, RadioButtonFor etc. have no problems with razor event binding.
What to do?
The EditorFor
extension doesn't have an argument htmlAttributes
like the TextBoxFor
, see: http://msdn.microsoft.com/en-us/library/system.web.mvc.html.editorextensions.editorfor%28v=vs.118%29.aspx
I suggest you change EditorFor
to CheckBoxFor
, or if you do want to use the EditorFor
, this question suggests to create an editor template.
Modify your EditorFor to use the following instead. I've used this to add html attributes (including classes and onclick) to an EditorFor which generates a checkbox.
@Html.EditorFor(model => model.SameAsBaseAddress, new { htmlAttributes = new { @onclick = "checkboxcheck()" } })
You can add more attributes as a comma separated list:
@Html.EditorFor(model => model.SameAsBaseAddress, new { htmlAttributes = new { @onclick = "checkboxcheck()", @class = "checkbox" } })