0

ASP.Net MVCを使用しており、フォームの検証に控えめなJavaScriptを実装しています。これが私のコードです:

@{
   AjaxOptions options = new AjaxOptions
   { 
    HttpMethod = "Post",
    LoadingElementId = "ProcessingMessageContainer",
    Url = @Model.SaveUrl,
    OnBegin = "OnBegin",
    OnSuccess = "OnSaveSuccess",
    OnFailure = "OnSaveFailure",
    OnComplete = "OnComplete",
   };   
 }
 <div id="DataEntryFormContainer">
     @using (Ajax.BeginForm(options)) 
     {
        [form here]
     }
 </div>

問題は、送信ボタンを押すと、実際の送信がサーバーで処理される前にフォームが再ロードされることです。したがって、それは悪いユーザーエクスペリエンスです。フォームデータはサーバーに配信され、それに応じて処理されます。ユーザーが送信ボタンを押した後にデータ入力フォームが再ロードされないようにするにはどうすればよいですか?ありがとう。

4

2 に答える 2

0

私はそれを考え出した。私はどういうわけかボタンを送信するために2つの異なるアクションをバインドしました。フォームを送信し、元のページをリクエストしていました。ファイアバグを使ってコンソールを見て捕まえました。フォームを送信するたびに、サーバーに2つのリクエストが表示されました。1つはフォームを送信するための投稿で、もう1つはフォームを取得するための投稿です。みんなの助けてくれてありがとう。

于 2012-04-19T18:55:26.680 に答える
0

Web.config ファイルで Client Validation と Unobtrusive JavaScript を有効にしていないようです。

Web.config に次の両方の行があることを再確認してください。

<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
于 2012-04-17T15:09:43.030 に答える