2017-05-15 1 views
0

ビューに影響を与えずにアクションメソッドを呼び出そうとしています。私は、フォームもJS-コードスニペット上に含む別の図である。このvoid ActionMethod呼び出しで確認タグ付きのajaxポストリクエストを使用してページを上書きし、空白にします。どうして?

$('#loginBtn').click(function() { 
     var success = false; 
     var form = $('#loginForm'); 
     var token = $('input[name="__RequestVerificationToken"]', form).val(); 
     $.ajax({ 
      url: $(this).data('url'), 
      type: 'POST', 
      data: { 
       __RequestVerificationToken: token, 
       LoginModel: "@Model" 
      }, 
      success: function (result) { 
       alert("logged in"); 
      } 
     }); 
    }); 

を行うことによって、次のアクションの方法

[HttpPost] 
[AllowAnonymous] 
[ValidateAntiForgeryToken] 
public void Index(LoginModel login)//, string returnUrl) 
{ 
    if (ModelState.IsValid && 
     System.Web.Security.Membership.ValidateUser(login.UserName, login.Password)) 
    { 
     FormsAuthentication.SetAuthCookie(login.UserName, login.RememberMe); 
     login.JavascriptToRun = "updateForm()"; 
    } 
// handle error 
} 

を呼び出します。

すべてが正常に動作しますが、ページ全体がリロードされ、actionmethodが無効なので、これは空白になります。私はWebページに何も起きないようにし、モデルに格納されているjsコードスニペットを変更するだけです.BTWは今のところ空の関数です。

私はASP.NET MVC - How to call void controller method without leaving the view?のような関連記事を見ましたが、私は誰も賢明ではありません。

私は壁にぶつかり、他の人の入力が非常に高く評価されるような気分です。乾杯!

+0

は、ビューを表示することができますか? – Usman

答えて

0

ActionResultをIndex()Actionのデータ型として使用し、View()を使用してJavaScriptをJavaScriptに戻すことができます。これも出

チェック(JavaScriptResult()を返す): Working example for JavaScriptResult in asp.net mvc

関連する問題