因为我在视图中使用Knockout,所以我相应地设置了表单标记;
<form class="employeeListEditor" data-bind="submit: save">
然而,当我点击提交按钮时,我想要进行部分页面刷新。那么如何在Ajax.BeginForm中设置data-bind属性?
此语法不起作用;
<% using (Ajax.BeginForm("GetCalendar", new AjaxOptions { UpdateTargetId = "siteRows" }, new { data-bind="submit: save", class="employeeListEditor" }))
{%>
答案 0 :(得分:18)
您需要在属性名称中使用unserscore(_
)并且Ajax.BeginForm
帮助程序(实际上所有HTML帮助程序在给定的htmlAttributes对象参数中用短划线替换unserscore)将自动替换它用短划线(-
)
new { data_bind="submit: save", @class="employeeListEditor" }
您需要使用Ajax.BeginForm
overload来接受像this one这样的htmlAttributes:
<% using (Ajax.BeginForm(
"GetCalendar", // actionName
null, // routeValues
new AjaxOptions { UpdateTargetId = "siteRows" }, // ajaxOptions
new { data_bind="submit: save", @class="employeeListEditor" } // htmlAttributes
))
{%>