1

Ajax.BeginForm()MVC4 の部分ビューでヘルパーを使用してフォームを送信するonSuccessと、部分ビューがリロードされ、すべてのイベントがこの部分ビュー内でバインド解除されます。次のコードでは、ページの読み込み時に、バインドされたイベント.eventButtonが正しく機能します。フォームを送信しようとしてエラーが発生すると、部分ビューが更新され、バインドされたイベントが機能し.eventButtonなくなります。

私の例では、それは 1 つの要素にすぎませんが、私が作業しているシナリオでは、もう少し複雑です。余分な情報を少し削除したコードを次に示します。

<div id="login">

        @{
            AjaxOptions registerOptions = new AjaxOptions
                {
                    HttpMethod = "Post",
                    UpdateTargetId = "login",
                    OnBegin = "showLoading",
                    OnSuccess = "stopLoading"
                };
        }

        @using (Ajax.BeginForm("Login", "Account", registerOptions))
        {
            @Html.TextBoxFor(m => m.Email, new { placeholder = "Your Email" })
            @Html.PasswordFor(m => m.Password, new { placeholder = "Your Password" })
            <input type="submit" value="Sign In" />
        }

        <a class="eventButton">Clicking this will trigger an event!</a>

</div>

MVC4 HTML ヘルパーを使用してこのフォームを送信する方法はありますAjax.BeginForm() か?

4

1 に答える 1

2

イベントをドキュメントに結び付ける必要があります。変化する

$('.eventButton').on('click', function()...

$(document).on('click', '.eventButton', function(){...
于 2013-10-01T01:46:41.803 に答える