Если вы действительно хотите передать свое имя пользователя и пароль на контроллер сервера и получить результат в клиентском скрипте, вы можете сделать это
В вашем контроллере аккаунта есть метод действия для проверки вашей комбинации имени пользователя и пароля. Вы вернете Json
из метода действия на основе проверки, которую вы выполняете в своем методе. Мы объявляем класс с именем "JsonDataResult
", который вы можете использовать для связи с jSon. Этот класс имеет два строковых свойства properties.a "Message
", куда вы можете отправить сообщение ("Success" / "Errors") и список строк для хранения сообщений об ошибках, если таковые имеются.
public class JsonDataResult
{
public string Message { get;set;}
public List<String> Items = new List<String>();
}
и вот мой метод действия выглядит как
public ActionResult Logon(string userName,string password)
{
// check your username password and if there is its not valid, do this
List<String> errors = new List<String>();
errors.Add("username is not available");
errors.Add("password is not nice!");
var data = new JsonDataResult { Message = "Errors", Items = errors };
return Json(data);
}
Вы можете установить значение сообщения как «Успех», если имя пользователя и пароль верны. Вы также можете пропустить добавление сообщений об ошибках.
Теперь из вашего клиентского скрипта используйте публикацию jQuery для публикации данных в метод действия, получения результата jSon и проверки значения свойств сообщения. Если написано «Ошибки», выполните цикл через каждую ошибку и покажите его.
$(function () {
$("form").submit(function () {
$.post('@Url.Action("Logon","Account")', { userName: $("#username").val(), password: $("#password").val() }, function (data) {
if (data.Message == "Errors") {
$.each(data.Items, function (index) {
alert(data.Items[index]);
});
}
else
{
// validation is successful.May be you want to redirect now ?
}
});
return false;
});
});