MVC利用ajax验证登陆问题
MVC在控制器中可以用ModelState.AddModelError("", "提供的用户名或密码不正确。");这种方式赋值错误提示,前端用@Html.ValidationSummary()方法显示。但是这有个问题,@Html.ValidationSummary()方法最终显示是带ul标签显示。
如果页面排版不适合在页面新增内容,而是用alert弹窗来显示错误信息更合适。这要怎么弄?现在不知道思路如何走。我只知道是用js里的ajax来实现。但是遇到很多奇怪问题:
Controllers代码:
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(Operation.Model.userInfo ui)
{
if (ModelState.IsValid)
{
try
{
Operation.BLL.userInfo uiBLL = new Operation.BLL.userInfo();
ui.pwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(ui.pwd, "MD5").ToUpper();
if (uiBLL.Exists(ui))
{
return RedirectToAction("Index", "UserInfo");
}
else
{
return Content("用户名密码错误!");
}
}
catch
{
return View();
}
}
else
{
return View();
}
}
JS代码:
$(document).ready(function () {
/*登陆按钮*/
$('#loginBtn').click(function () {
$.ajax({
url: '/Login/Index',
data: 'string',
type: 'post',
success: function (data) {
alert(data);
}
});
});
/**登陆按钮 END**/
});
View代码:
@model Operation.Model.userInfo
@using (Html.BeginForm("LoginAction", "Login", null, FormMethod.Post, new { id = "myform", name = "myform" }))
{
@Html.AntiForgeryToken() @Html.ValidationSummary(true) |
用户名: |