C#的Page.ClientScript.RegisterStartupScript与Response.Write
现在来讲一下.Net的WinForm的其中两个页面对象的页面弹框使用
一、语法
Response.Write(string str);
Page.ClientScript.RegisterStartupScript(this.GetType(),String key, String str);
二、使用
Page.ClientScript.RegisterStartupScript(this.GetType(), "DateFormat", "<script>alert('StartDate or EndDate is not correct format!!!')</script>");
//Response.Write("<script>alert('StartDate or EndDate is not correct format!!!');</script>");
最明显的区别在于,Response.Write(string str);的弹框的页面背景变成全白,而Page.ClientScript.RegisterStartupScript(this.GetType(),String key, String str);的弹框的页面背景是原来的显示页面,显然后者的效果比较“友善”。
Response.Write()效果图
Page.ClientScript.RegisterStartupScript效果图
当在后台代码执行过程中,如果使用了多条Response.Write()语句,那么在返回页面的时候,会逐条显示出来,即每点击“确定”,下一条弹框就会出来,直至所有都呈现出来,顺序是后台代码执行Response.Write()的顺序。对于Page.ClientScript.RegisterStartupScript,分了情况,Page.ClientScript.RegisterStartupScript()里面的第二个参数是“注册键值”,当执行了多条Page.ClientScript.RegisterStartupScript语句,它们的注册键值是一样的,那么最后只会弹出一条提示框,而且这条提示框还是后台代码的第一条信息;如果注册键值不相同,那么会把不同注册键值的信息都按执行顺序弹出来。