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

Mic*_*nnt 5 javascript asp.net-mvc jquery checkboxfor razor

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

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

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

function checkboxcheck() {
    //blah...
}
Run Code Online (Sandbox Code Playgroud)

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

该怎么办?

小智 5

修改您的 EditorFor 以使用以下内容。我用它来将 html 属性(包括类和 onclick)添加到生成复选框的 EditorFor 中。

@Html.EditorFor(model => model.SameAsBaseAddress, new { htmlAttributes = new { @onclick = "checkboxcheck()" } })
Run Code Online (Sandbox Code Playgroud)

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

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


Mar*_*ijn 4

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

我建议您更改EditorForCheckBoxFor,或者如果您确实想使用EditorFor此问题建议创建一个编辑器模板。