现在的位置: 首页 > 综合 > 正文

关于在cs文件中输出js的alert代码

2014年03月23日 ⁄ 综合 ⁄ 共 1163字 ⁄ 字号 评论关闭

发现现在很多朋友在cs代码中经常使用这种方法调用alert给访问者信息提示。

      try
        {
            cmd.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Response.Write(" <script language='JavaScript' type='text/javascript'>alert("ex.Message") </script>");
        }

我也喜欢用alert提示信息,包括在进行程序测试的时候,alert一下某些可能错误代码。

 

但是在alert的时候最好不要用response.write输出的形式。为啥么来?有这么几个原因:1、使用不当容易失灵,这个经常发生,经常听到朋友问,我的alert咋不弹出来。2、不美观,大家都发现,当alert的窗口弹出时,整个背景停留在白色状态,很不舒服。3、不符合net的对象观,net等习惯对象说,其实所谓的面向对象编程很容易理解,就是把每一个具有单独功能的程序提取出来作为一个方法,供程序员随时调用。

 

 

所以对于这个部分我给大家一个建议,用net的自带方法,page.RegisterStartupScript或者是page.RegisterStartupScript,namespace LG.Utility
{
    public class Common
    {
        public static void JsAlert(Page page, string msg)
        {
            page.RegisterStartupScript("", "<script defer=/"defer/">alert(/"" + msg + "/");</script>");
        }
        public static void JsAlertRedirect(Page page, string msg, string url)
        {
            page.RegisterStartupScript("", "<script defer=/"defer/">alert(/"" + msg + "/");location.href=/"" + url + "/"</script>");
        }

 

               我一般会这样写,把alert写成一个带参数的方法,搞一个专门的utility包,把类似的程序罗列,随时调用,以后任何项目拿过来就用,非常方便,而且net带的这两个方法绝不会出现刚才说的第二种情况。

 

                  Common.JsAlertRedirect(this.Page, "添加成功", "New.aspx");

 

使用时就是这样一句话而已。

抱歉!评论已关闭.