ビューに影響を与えずにアクションメソッドを呼び出そうとしています。私は、フォームも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?のような関連記事を見ましたが、私は誰も賢明ではありません。
私は壁にぶつかり、他の人の入力が非常に高く評価されるような気分です。乾杯!
は、ビューを表示することができますか? – Usman