剃刀编辑器复选框事件绑定

时间:2013-12-20 09:49:58

标签: javascript jquery asp.net-mvc razor checkboxfor

我无法将事件绑定到@ html.editorfor

我听说它可能与“class”属性的存在有关,但我看不到任何联系。

@Html.EditorFor(model => model.SameAsBaseAddress, new { @onclick = "checkboxcheck()" })

function checkboxcheck() {
    //blah...
}

当我使用firebug进行调试并手动添加处理程序时,一切正常。 TextBoxFor,RadioButtonFor等没有剃刀事件绑定的问题。

怎么办?

2 个答案:

答案 0 :(得分:3)

EditorFor扩展程序没有与htmlAttributes类似的参数TextBoxFor,请参阅:http://msdn.microsoft.com/en-us/library/system.web.mvc.html.editorextensions.editorfor%28v=vs.118%29.aspx

我建议您将EditorFor更改为CheckBoxFor,或者如果您确实要使用EditorForthis question建议您创建编辑器模板。

答案 1 :(得分:3)

修改您的EditorFor以改为使用以下内容。我已经使用它将html属性(包括类和onclick)添加到EditorFor,它会生成一个复选框。

@Html.EditorFor(model => model.SameAsBaseAddress, new { htmlAttributes = new { @onclick = "checkboxcheck()" } })

您可以添加更多属性作为逗号分隔列表:

@Html.EditorFor(model => model.SameAsBaseAddress, new { htmlAttributes = new { @onclick = "checkboxcheck()", @class = "checkbox" } })