用Page.registerstartupscript
.NET Framework 类库
Page.RegisterStartupScript 方法请参见
允许 ASP.NET 服务器控件在 Page 中发出客户端脚本块。
[Visual Basic]
Public Overridable Sub RegisterStartupScript( _
ByVal key As String, _
ByVal script As String _
)
[C#]
public virtual void RegisterStartupScript(
string key,
string script
);
[C++]
public: virtual void RegisterStartupScript(
String* key,
String* script
);
[JScript]
public function RegisterStartupScript(
key : String,
script : String
);
参数
key
标识脚本块的唯一键。
script
要发送到客户端的脚本的内容。
备注
与 RegisterClientScriptBlock 方法类似,该方法在 Page 对象的 <form runat= server> 元素的结束标记之前发出该脚本。发出脚本块时已定义了呈现该页的对象时,因此必须同时包括 <script> 元素的两个标记。
通过使用 key 标识脚本,多个服务器控件实例可以请求该脚本块,而不用将其发送到输出流两次。
具有相同 key 参数值的任何脚本块均被视为重复的。
注意 请记住在脚本周围加入 HTML 注释标记,以便在请求的浏览器不支持脚本时脚本不会呈现。
示例
[Visual Basic, C#] 下面的示例说明如何将 RegisterStartupScript 方法与 IsStartupScriptRegistered 方法配合使用。如果尚未注册用代码声明块编写的 ECMAScript(如 IsStartupScriptRegistered 测试的那样),则将发出 RegisterStartupScriptBlock 调用。
[Visual Basic]
<html>
<head>
<script language="VB" runat="server">
public Sub Page_Load(Sender As Object,e As EventArgs)
' Form the script to be registered at client side.
Dim scriptString As String = "<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>"
If(Not Me.IsStartupScriptRegistered("Startup")) Then
Me.RegisterStartupScript("Startup", scriptString)
End If
End Sub
</script>
</head>
<body topmargin="20" leftmargin="10" οnlοad="Page_Load()">
<form id="myForm" runat="server">
<span id="showMessage1"></span>
<br>
<input type="button" value="ClickMe" οnclick="DoClick()">
<br>
<span id="showMessage2"></span>
</form>
</body>
</html>
[C#]
<html>
<head>
<script language="C#" runat="server">
public void Page_Load(Object sender, EventArgs e) {
// 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>";
if(!this.IsStartupScriptRegistered("Startup"))
this.RegisterStartupScript("Startup", scriptString);
}
</script>
</head>
<body topmargin="20" leftmargin="10" οnlοad="Page_Load()">
<form id="myForm" runat="server">
<span id="showMessage1"></span>
<br>
<input type="button" value="ClickMe" οnclick="DoClick()">
<br>
<span id="showMessage2"></span>
</form>
</body>
</html>
-------------
我的例子:
string scriptstring = "<script language=javascript> ";
scriptstring += "parent.mainTopFrame.location.href='/dzyw/web/left/cost/costcontrol.aspx ';";
scriptstring += "parent.mainFrame.location.href='/dzyw/web/left/cost/control/costallquery/costallquery.aspx ';";
scriptstring += "</";
scriptstring += "script>";
this.RegisterStartupScript("Startup",scriptstring);