一个页面,没有数据回发,因此未写HTMLFORM,运行一直很正常。
    今天要给它插入一个新的自定义服务器控件,该控件在其他页面已经可以正常使用,但用到这个页面却出现了问题:客户端脚本无法注册,而Render的HTML展现代码是完全正常的。DEBUG跟踪时确认,OnLoad时的Page.RegisterStartupScript已经正确执行,控件的设计应该没有问题,问题的焦点集中到了这个页面上来,发现与其他正常使用该控件的页面区别就在于缺省了HTMLFORM,加入<form runat=server></form>,问题即解决。
    进一步探究问题的根源,原来以前一直没有太在意,RegisterStartupScript是在 Page 对象的 <form runat= server> 元素的结束标记之前发出脚本,而RegisterClientScriptBlock则是在 Page 对象的 <form runat= server> 元素的开始标记后发出,没有HTMLFORM,这两个方法当然无所适从,只有茫然罢工了。

posted on 2005-01-26 11:13  愚公  阅读(387)  评论(0编辑  收藏  举报