뷰에 영향을주지 않고 액션 메소드를 호출하려고합니다. I 양식도 JS-코드 위에 포함 된 별도의 관점에 본void 확인 메시지와 함께 ajax 게시 요청을 사용하는 ActionMethod 호출이 페이지를 덮어 쓰며 비워 둡니다. 어째서?
$('#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가 무효이므로 모든 항목이 작동하지만이 항목은 공백으로 표시됩니다. 나는 웹 페이지에 아무 것도 일어나지 않고 단지 모델에 저장된 js 코드 스 니펫을 변경하기 만하면됩니다. BTW는 현재 빈 함수입니다.
ASP.NET MVC - How to call void controller method without leaving the view?과 같은 관련 게시물을 보았지만 아무도 현명하지 않습니다.
저는 벽에 치고 다른 사람들의 의견을 많이 듣는 것처럼 느낍니다. 건배!
당신이보기를 표시 할 수 있습니까? – Usman