.NET 學習

.NET 學習生活感想... 万事成蹉跎..... 贵在坚持 及时整理自己做过和学过的东西

博客园 首页 新随笔 联系 订阅 管理

在Asp.net经常使用到弹出一个对话框,就是类似。
Response.Write("<scrit>alert('Hello');</script>");
以前一直在用,而且也不以为然,不过最近发现它实在是太糟糕了。因为Response.Write()是写在网页的最顶端,就是<html> 等标签的上面,反正就是网页的内容最前面就是了,这可能导致一些意向不到情况,例如使用之后字体大小突然改变,而且它是先出现对话框或者其他东西才会输出其他东西,最明显的是对话框出来了,网页是白白的,什么也没有。反正它是比较糟糕的东西,其他人也说过很多,不说了。
我们应该使用RegisterStartupScript跟RegisterClientScriptBlock来代替。
这两者有什么区别呢:
1) RegisterStartupScript里面的内容会写在 </form>前面,也就是网页上所有东西出来,它才出来,我觉得它是很好的选择。
2) RegisterClientScriptBlock是在<form>后面出来,输出的时候是在其他元素的前面。应用在什么场合,现在还不清楚。
实例:

public void ShowMessageByStartup()
    {
        string ConfirmContent = "<script>alert('添加成功,谢谢您的参与。'); </script>";
        Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;
        ParameterPage.RegisterStartupScript("confirm", ConfirmContent);
    }

    public void ShowMessageByStartupByClientScript()
    {
        string ConfirmContent = "<script>alert('添加成功,谢谢您的参与。'); </script>";
        Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;
        ParameterPage.RegisterClientScriptBlock("confirm", ConfirmContent);
    }

public void ShowMessage(string message)

{

string strMessage = message;

string strScript = "<script>alert('" + message + "'); </script>";

Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;

ParameterPage.RegisterStartupScript("alertmessage", strScript);

}

posted on 2007-12-11 09:42  Tonyyang  阅读(688)  评论(0编辑  收藏  举报
欢迎转载,转载请注明出处:http://www.cnblogs.com/Tonyyang/