2017-05-15 17 views
0

뷰에 영향을주지 않고 액션 메소드를 호출하려고합니다. 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?과 같은 관련 게시물을 보았지만 아무도 현명하지 않습니다.

저는 벽에 치고 다른 사람들의 의견을 많이 듣는 것처럼 느낍니다. 건배!

+0

당신이보기를 표시 할 수 있습니까? – Usman

답변