日期:2014-05-19  浏览次数:20479 次

动态生成页面,然后执行jscript脚本,为什么没反应?
Response.write(页面内容)
服务器代码
jscript脚本   用来改变动态生成的html控件的内容

为什么服务器代码是执行了,jscript也应该执行了吧,为什么html控件的内容不变。

------解决方案--------------------
Response.write(页面内容)
输出的内容是输出到页面的最顶端,此时html控件还没有生成,根本就找不到这个控件,当然改不了
请使用Page.RegisterStartupScript 方法 输出
或者ClientScriptManager 类的 RegisterStartupScript 方法。

public void Page_Load(Object sender, EventArgs e)
{

if (!(this.IsStartupScriptRegistered( "Startup ")))
{
// Form the script to be registered at client side.
String scriptString = " <script language=JavaScript> function DoClick() { ";
scriptString += "showMessage2.innerHTML= ' <h4> Welcome "
+ " to Microsoft .NET! </h4> '} ";
scriptString += "function Page_Load(){ showMessage1.innerHTML= ";
scriptString += " ' <h4> RegisterStartupScript Example </h4> '} < ";
scriptString += "/ ";
scriptString += "script> ";
this.RegisterStartupScript( "Startup ", scriptString);
}
}