.NET MVC4控制器输出javascript脚本
我做了一个登陆的页面。登陆的控制器代码如下:publicActionResultIndex(){returnView();}[HttpPost]publicActionR...
我做了一个登陆的页面。登陆的控制器代码如下:
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
{
Response.Write("<script>alert('用户名密码错误!')</script>");
return View();
}
}
catch
{
return View();
}
}
else
{
return View();
}
}
现在问题来了,如果使用Response.Write这个方法直接输出JS脚本。我出现如下的问题,我输入错用户密码点击登陆会提示alert弹框,但是页面样式变了。并且我按F5刷新页面一样弹出alert弹框。
感觉好像Response.Write重写累加了alert方法,相当于F5刷新页面一开始就有了alert。我要的效果不是这样。应该是只有点击登陆的时候才有alert的提示,刷新和其他操作不会触发。要如何在控制器注入js脚本 展开
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
{
Response.Write("<script>alert('用户名密码错误!')</script>");
return View();
}
}
catch
{
return View();
}
}
else
{
return View();
}
}
现在问题来了,如果使用Response.Write这个方法直接输出JS脚本。我出现如下的问题,我输入错用户密码点击登陆会提示alert弹框,但是页面样式变了。并且我按F5刷新页面一样弹出alert弹框。
感觉好像Response.Write重写累加了alert方法,相当于F5刷新页面一开始就有了alert。我要的效果不是这样。应该是只有点击登陆的时候才有alert的提示,刷新和其他操作不会触发。要如何在控制器注入js脚本 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询