我所了解的除了上面的几种外还有:
1.给lable的text赋一个js脚本,也是可以的。
这几种的区别是:
response.write()将js脚本输入到页面的最上面,所以,当你用response.write()来输出操作成功的js提示时,页面是空白的,当你点击确定后,页面才会呈现出来,就是因为write()是输入在页面的最上面,页面一执行,就先运行的js脚本,所以页面就不会出来,而等脚本运行完后才会呈现。
而this.ClientScript.RegisterStartupScript(this.GetType(),"","js脚本",true);这种方式,却是将脚本输出在页面的最后面,当用这种方式输出操作成功的脚本提示时,页面是呈现的,用户体验比respnse.Write()要好。而且这种方式,还有一个技巧。就是RegisterStartupScript()的参数,当在用户控件里使用这种方式弹出脚本时,第一个参数要写成Page.GetType(),而不是this.GetType(),所以推荐一开始就使用thsi.GetType(),这个在页面与用户控件里都使用,二是,当你的页面中使用了微软的ajax框架时,使用这种方式的写法又有写变化了,因为使用微软的ajax需要在页面上加个全局脚本管理器ScriptManager控件,所以后台的写法应该是这样的ScriptManager.ClientScript.RegisterStartupScript(.....);而不是this.了。这点一定要注意。至于给控件加属性,与给lalbe赋值应该都是可以的。效果应该是跟第二中一样的。好啦,我所了解的就这些了,希望能够帮助到你!
2.
literal:是通过这个literal控件显示,就像label一样,显示在literal控件所在的位置response.write:是直接输出一个数据流,一般输出在页面最上面ClientScript.RegisterStartupScript:一般是向客户端注册一段js脚本,在服务端输出页面流后,在客户端执行,是相较response.write直接输出js而言Attributes:一般是直接给某个html控件添加或更改某个属性,比如给button控件增加oncilck事件。
Response.Write的生成HTML代码,你会发现Response.Write方法生成的代码是写到了HTML代码的最开始,即标签之前。
ClientScript.RegisterStartupScript()就是后台调用脚本
比如:
ClientScript.RegisterStartupScript(this.gettype(),"","这里写前台的JS函数名();",true)即可,登陆注册的时候可以用这个弹个提示出来
Attributes主要用来后台给你的控件赋予js属性的
前台有JavaScript事件及一个服务器端button:
如果要在这个button写入该JavaScript执行的操作,
可以在后台找到这个button,注册事件,
如当点击这个button时执行JavaScript操作:
Button button = (Button)e.Item.FindControl("Button1");
button.Attributes.Add("onclick","Confirm()");
拉个控件 后台写TEXT属性 算不