当前位置: 代码迷 >> ASP.NET >> Page.RegisterStartupScript()原理?能否和前台js代码交流?该怎么处理
  详细解决方案

Page.RegisterStartupScript()原理?能否和前台js代码交流?该怎么处理

热度:3877   发布时间:2013-02-25 00:00:00.0
Page.RegisterStartupScript()原理?能否和前台js代码交流?
在aspx页面<script>一段代码,然后又在.cs页面Page.RegisterStartupScript注册了一段代码,这两段代码好像不能互访变量,至少我试验时是这样:我专门建了一个项目
在.cs里
C# code
public string js;    protected void Page_Load(object sender, EventArgs e)    {        js="<script>var txt=\"fjw\";document.write(txt);</script>";        Page.RegisterStartupScript("a", js);      }

前台:
HTML code
<form id="form1" runat="server">    <script>    var i=txt;    alert(i);</script>    </form>

结果浏览器输出fjw,但alert()没反应,浏览器也没有报错.
那么Page.RegisterStartupScript的作用原理是什么?

------解决方案--------------------------------------------------------
RegisterStartupScript返回的函数在document装载完成后会执行,类似于我们平时所说的<body onload="f()">里面的函数。

——孟子e章
------解决方案--------------------------------------------------------
RegisterStartupScript返回的函数在document装载完成后会执行,类似于我们平时所说的 <body onload="f()">里面的函数。 

------解决方案--------------------------------------------------------
RegisterStartupScript 是将脚本代码注册在<Form></Form>的结尾处,不要望文生义。你可以再看看 RegisterClientScriptBlock 方法。
  相关解决方案