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 に答える