5

因为在我看来我使用的是 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" }))
{%>
4

1 回答 1

18

您需要_在属性名称中使用 unserscore ( ),并且Ajax.BeginForm帮助程序(实际上所有 HTML 帮助程序在给定的 htmlAttributes 对象参数中将 unserscore 替换为破折号)将自动将其替换为破折号 ( -)

new { data_bind="submit: save", @class="employeeListEditor" }

你需要使用一个接受 htmlAttributes 这样Ajax.BeginForm 重载

<% using (Ajax.BeginForm(
          "GetCalendar", // actionName
          null, // routeValues
          new AjaxOptions { UpdateTargetId = "siteRows" }, // ajaxOptions
          new { data_bind="submit: save", @class="employeeListEditor" } // htmlAttributes
         ))
{%>
于 2012-10-16T10:42:48.770 回答