ASP.NET如何调用客户端脚本
在运行服务器端函数的过程中如何调用客户端脚本函数。 问题点数:20、回复次数:18Top
1 楼swordragon(古道热肠)回复于 2005-08-26 11:09:28 得分 3
Page.RegisterClientScriptBlock("message","<script language='javascript'>showMessage('00001')</script>");Top
2 楼kaixin110(kydk.com)回复于 2005-08-26 11:14:43 得分 3
建议用RegisterStartupScript
因为这个是Page_load之后的CallTop
3 楼bartholomew(9q)回复于 2005-08-26 11:17:41 得分 2
Page.RegisterStartupScriptTop
4 楼jamex(1 + 1 = 爱)回复于 2005-08-26 11:21:44 得分 2
Page.RegisterStartupScript 方法 [Visual Basic]请参见
Page 类 | Page 成员 | System.Web.UI 命名空间 | Page 成员(Visual J# 语法) | C++ 托管扩展编程 要求
平台: Windows 2000, Windows XP Professional, Windows Server 2003 系列语言
C#
C++
JScript
Visual Basic
全部显示
允许 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" onload="Page_Load()">
<form id="myForm" runat="server">
<span id="showMessage1"></span>
<br>
<input type="button" value="ClickMe" onclick="DoClick()">
<br>
<span id="showMessage2"></span>
</form>
</body>
</html>
Top
5 楼aquariusdeng(无泪有伤之新手上路)回复于 2005-08-26 11:24:52 得分 3
看需要了
Response.Write("<script>window....</script>");
page.RegisterStartupScript("","<script>。。。</"+"script>");
。。。
RegisterStartupScript是在页面load之后才调用的,可能适用的范围广些
比如,用Response.Write来调用alert,则alert时,页面是一个白屏,RegisterStartupScript会等页面出来才alertTop
6 楼wzpwork(东方红叶)回复于 2005-08-26 11:24:55 得分 3
Response.Write("<script language=\"javascript\">test('OK!');history.back();<"+"/script>");Top
7 楼yuluke()回复于 2005-08-26 11:26:06 得分 0
谢谢上面的回复,这个只能在page_load中才能执行,在别的事件中就无法执行了!Top
8 楼wzpwork(东方红叶)回复于 2005-08-26 11:26:08 得分 2
Response.Write("<script language=\"javascript\">test('OK!');history.back();<"+"/script>");Top
9 楼jimu8130(火箭的未来在哪里?)回复于 2005-08-26 11:41:18 得分 2
在别的事件?
有的时候你可以动态假如
比如你想在按钮点击后执行某个js函数
那么你可以在page_load事件里面加上
btn.attributes.add("onclick","jsfounction();");
看你的需要
请给出你具体的应用Top
10 楼yuluke()回复于 2005-08-26 12:01:49 得分 0
具体要求:我执行一服务器端一按扭控件后,进行数据库等的一些操作,并得到一个结果,再把这个结果参数传递给前台脚本进行处理。Top
11 楼yuluke()回复于 2005-08-26 12:02:54 得分 0
btn.attributes.add("onclick","jsfounction();"); 这个语句对于执行后再传递参数有些困难!Top
12 楼ljmay168(軍)回复于 2005-08-26 12:19:03 得分 0
如果你得到的結果是一個值,將這個值放在一個TextBox中,在腳本中再判斷這個文本框的值來進行下一步操作.Top
13 楼navy_koo(平湖秋水)回复于 2005-08-26 16:20:52 得分 0
注册客户端脚本
window.showModalDialogTop
14 楼navy_koo(平湖秋水)回复于 2005-08-26 16:22:18 得分 0
不好意思,上面写错了Top
15 楼navy_koo(平湖秋水)回复于 2005-08-26 16:24:46 得分 0
调用客户端脚本很简单啊
Page.RegisterStartupScript("sss0","<script language='javascript'>aaa()</script>");
aaa()是客户端的js 函数;
Button1.Attributes.Add("onclick","return btnClick();");
btnClick()是客户端的js 函数;Top
16 楼fcsoft01(fcsoft01)回复于 2005-08-30 10:07:20 得分 0
方成eform自定义表单平台,纯BS结构.100%开放源码.可以在 http://218.30.103.110:8080/eform/index.html 在线试用.Top
17 楼chenxy80(陈陈)回复于 2005-09-09 16:11:49 得分 0
做个记号,顶Top
18 楼mxch815(记住Amao这个名字,对你将来有好处)回复于 2005-09-09 16:30:20 得分 0
这个很简单吧。
客户端脚本读入,变成字符串后加入到页面的一个pan1.InnerHtml = "<script language=javascript>........<?script>"Top




