gpt4 book ai didi

c# - asp/mvc应用中使用错误提示

转载 作者:行者123 更新时间:2023-11-30 18:41:09 27 4
gpt4 key购买 nike

我一直在寻找一种直接的方式来提示错误消息,最好是一个弹出窗口,(javascript 或其他方式)给未能通过此表单登录系统的用户:

@model Blog.Models.ViewModels.LoginView
<!DOCTYPE html>
<html>
<body>
@using (Html.BeginForm()) {
<p>Your name: @Html.TextBoxFor(x => x.name) </p>
<p>Your password: @Html.TextBoxFor(x => x.password)</p>
<input type="submit" value="Login" />
}
</body>
</html>

但我发现的大多数示例都在标签上使用了 onclick 方法。相反,我希望它由这个 Controller 处理:

private BlogModel model = new BlogModel();
[HttpPost]
public ActionResult LoginForm(string name, string password)
{
SysUser user = model.SysUsers.Where(x => x.SysUserName == name).First();
{
if (user != null && user.SysPassword == password)
{
Session["usrn"] = name;
return RedirectToAction("LoginSuccessful", "Users");
}
else
{
//display error//
}
}

最佳答案

我建议不要使用弹出窗口或 alert() 对话框。相反,我会使用样式化的 div 来显示您的错误消息。如果你使用的是 jQuery UI,你可以试试我的 message plugin .由于它是用 javascript 显示的,您可以像这样使用它:

Controller :

[HttpPost]
public ActionResult LoginForm(string name, string password)
{
SysUser user = model.SysUsers.Where(x => x.SysUserName == name).First();
{
if (user != null && user.SysPassword == password)
{
Session["usrn"] = name;
return RedirectToAction("LoginSuccessful", "Users");
}
else
{
ViewBag.LoginError = true;
}
}
}

使用 jquery-message 标记:

<div id="loginError" style="display:none">Login Error...</div>

@if (ViewBag.LoginError == true)
{
<script type="text/javascript">
$("#loginError").message({type:"error"});
</script>
}

或者,如果您愿意,不使用 jquery-message:

@if (ViewBag.LoginError == true)
{
<div id="loginError" class="error">Login Error...</div>
}

关于c# - asp/mvc应用中使用错误提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6829603/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com