Это вполне возможно и не слишком сложно.
http://weblogs.asp.net/mikebosch/archive/2008/02/15/asp-net-mvc-submitting-ajax-form-with-jquery.aspx
Это из другого поста, который я больше не могу найти:
Да,возможно.Просто отправьте форму входа, используя метод, описанный здесь Майком Бошем, и верните структуру данных json с returnUrl, если таковой имеется.
Я создал легкий класс LoginResultDTO, который я возвращаю как json:
public class LoginResultDTO
{
public bool Success {get;set;}
public string Message {get;set;}
public string ReturnUrl {get;set;}
}
Вот блок скриптов из моего представления LogOn:
<script type="text/javascript">
$(document).ready(function() {
var form = $($("form")[0]);
form.submit(function() {
var data = form.serialize();
$.post(form.attr("action"), data, function(result, status) {
if (result.Success && result.ReturnUrl) {
location.href = result.ReturnUrl;
} else {
alert(result.Message);
}
}, "json");
return false;
});
});
</script>
Это будет ajax обертывание формы входа.Обратите внимание, что это простейшая реализация кода javascript, но это место для начала.
Затем я изменил свое действие LogOn в AccountController и в соответствующих местах поместил что-то вроде этого:
if(Request.IsAjaxRequest())
{
return Json(new LoginResultDTO{Success=true,Message="Successfully logged in"});
}else
{
return View();
}
Итак, это сверхлегкая, но довольно полная версия того, как можно выполнить аутентификацию jquery в asp.net mvc.