用户控件里使用js 的问题
if(!this.IsStartupScriptRegistered("UserNote"))
this.RegisterStartupScript("UserNote","<script language=javascript>alert('完成!');</script>");
这段代码在 aspx 文件里执行是没有问题的,可是放到用户空件(ascx)文件里就不行:提示错误:
E:\asp\uctest.ascx.cs(46): “guess2006.uctest”并不包含对“IsStartupScriptRegistered”的定义
谢谢
问题点数:100、回复次数:8Top
1 楼dgrwang(探索者)回复于 2006-06-01 12:53:06 得分 40
IsStartupScriptRegistered属于Page对象,aspx的cs都继承自System.Web.UI.Page,而用户控件则是 System.Web.UI.UserControlTop
2 楼Knight94(愚翁)回复于 2006-06-01 13:02:56 得分 40
如上说得很对,当前对象类型不同,不能进行沿用。Top
3 楼Knight94(愚翁)回复于 2006-06-01 13:05:15 得分 0
你可以用如下替换
if(!this.Page.IsStartupScriptRegistered("UserNote"))
this.Page.RegisterStartupScript("UserNote","<script language=javascript>alert('完成!');</script>");Top
4 楼ascopi(冬天)回复于 2006-06-01 14:22:43 得分 0
哦,原来是这个层面没考虑到,谢谢Top
5 楼ascopi(冬天)回复于 2006-06-01 14:29:37 得分 0
还有,在问下
这种模式调用js 和直接 Response.Write(<js...>) 调用js ,除了显示方面,还有什么区别么?
Top
6 楼net_lover(【孟子E章】)回复于 2006-06-01 14:34:34 得分 20
执行顺序
RegisterStartupScript在</form>前,属于onload时执行,而Response.Write在最前面Top
7 楼ascopi(冬天)回复于 2006-06-01 14:36:08 得分 0
哦了解了,谢谢各位 收贴Top
8 楼lowtemper(小镇姑娘她爹)回复于 2006-06-01 14:40:46 得分 0
if(!this.Page.IsStartupScriptRegistered("UserNote"))Top




