Адаптировано из здесь , опираясь на ответ scunliffe:
function getStyle(className) {
var classes = document.styleSheets[0].rules || document.styleSheets[0].cssRules;
for (var x = 0; x < classes.length; x++) {
if (classes[x].selectorText == className) {
(classes[x].cssText) ? alert(classes[x].cssText) : alert(classes[x].style.cssText);
}
}
}
getStyle('.test');
Да, это возможно. Просто отправьте форму входа в систему с помощью метода описанный здесь микрофоном bosch и возвратите json datastructure с 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.
У Steve Reynolds есть хорошая статья о том, как сделать часть этого.
Смотрите на xVal. Это может пользоваться любой клиентской библиотекой проверки, но использованием jQuery Valiation по умолчанию.