在传统的WebForm中,我们要弹出一个alert提示框非常简单,只要在页面中输出alert即可,比如输出:
Response.Write("<script >alrer('我是弹出框');</script >")
或者在前台页面中定义script,然后后台调用,比如:
<script type="text/javascript" >
function showalert()
{
alrer('我是弹出框');
}
</script >
然后在C#代码中调用:
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "showalert", "showalert()", true);
而在MVC中,上面的Response.Write与ScriptManager.RegisterStartupScript方法都没了,这让刚接触MVC的朋友们很不习惯,一个这么简单的功能也卡壳了。经常一番研究,自己总结两条在MVC中弹出提示框的方法:
方法一,也是先在页面定义好js方法,如上面的
<script type="text/javascript" >
function showalert()
{
alrer('我是弹出框');
}
</script >
然后在页面判断是否调用该方法:
<% if(ViewData["IsShowAlert"].ToString()=="True") % >
showalert();
<% end% >
接着就是在Controller中根据需要定义ViewData["IsShowAlert"]的值了。
方法二:这个方法最简单,最节省代码了:
直接在Controller中返回:
return Content("<script >alert('提交留言成功,谢谢对我们支持,我们会根据您提供联系方式尽快与您取的联系!');</script >", "text/html");
页面先弹出提示的语句并且跳转到指定的页面
return Content("<script >alert('操作失败,该角色下存在用户不能删除!');window.open('" + Url.Content("/Role/Index") + "', '_self')</script >", "text/html");