.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脚本
展开
 我来答
在太平湖钓鱼的金雀花
推荐于2018-05-07 · TA获得超过320个赞
知道小有建树答主
回答量:330
采纳率:100%
帮助的人:149万
展开全部
楼主说提示框出来页面样式变了这个我不是很理解,但是你说的按F5的问题,很明显是你按之前已经提交过一次了,已经有post数据了,每按一次F5就相当于重新提交了一次,所以就会不断显示。在mvc里这种情况,建议你使用ajax来操作,一个是界面美观,一个是方便你做JS控制
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式