注意: .NET Framewrok 1.0/1.1中的Page.RegisterStartupScript 和 Page.RegisterClientScriptBlock方法已经被弃用,这两个用于注册脚本的方法需要一组键/值对,由于方法比较复杂,很可能发生键名冲突.Page.ClientScript属性把所有的脚本注册都放在一起,使代码不容易出错
<1>使用Page.ClientScript.RegisterClientScriptBlock(注册到页面顶部)
两种构建方式:
1).RegisterClientScriptBlock(Type type,String key,String script);
//类型,键,脚本
2).RegisterClientScriptBlock(Type type,String key,String script,bool addScriptTags); //类型,键,脚本,是否添加脚本标记
2).RegisterClientScriptBlock(Type type,String key,String script,bool addScriptTags); //类型,键,脚本,是否添加脚本标记
例子:
<
!
--.aspx页面--
>
< asp:Button ID ="btnScript" runat ="server" OnClick ="btnScript_Click" Text ="点击输出javascript" />
< asp:Button ID ="btnScript" runat ="server" OnClick ="btnScript_Click" Text ="点击输出javascript" />
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
/// <summary>
/// 模拟Winform的MessageBox.Show();
/// </summary>
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
<2>使用Page.ClientScript.RegisterStartupScript(注册到页面底部)
两种构建方式:
1).RegisterStartupScript(Type type,String key,String script);
//类型,键,脚本
2).RegisterStartupScript(Type type,String key,String script,bool addScriptTags); //类型,键,脚本,是否添加脚本标记
2).RegisterStartupScript(Type type,String key,String script,bool addScriptTags); //类型,键,脚本,是否添加脚本标记
注意:这两种注册方法虽然只是注册部位不一样,但是区别很大.如果页面上有一些处理控件的JavaScript,应该使用RegisterStartupScript
例子:
<
!
--.aspx页面--
>
< asp:Button ID ="btnScript" runat ="server" OnClick ="btnScript_Click" Text ="点击输出javascript" />
< asp:TextBox ID ="txtMessage" runat ="server" >Hello ASP.NET! </asp:TextBox>
< asp:Button ID ="btnScript" runat ="server" OnClick ="btnScript_Click" Text ="点击输出javascript" />
< asp:TextBox ID ="txtMessage" runat ="server" >Hello ASP.NET! </asp:TextBox>
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
<3>使用Page.ClientScript.RegisterClientScriptInclude(引用.js文件)
//C#中:
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
<4>使用回调功能(Ajax效果)
步骤:
1)在ASP.NET建立<input type='button' .../>
2)写入调用javscript
3)在.aspx.cs页面中实现ICallBackEventHandler接口
4)实现接口的两个方法:GetCallbackResult,RaiseCallbackEvent
5)在Page_Load里面注册脚本
例子:
<
!
-- aspx页面 --
>
< script language ="javascript" type ="text/javascript" >
function GetNumber()
{
UseCallBack(); //回调函数
}
//用来接受返回信息并显示
function GetRandom(TextBox1, content)
{
document.forms[0].txtMessage.value = TextBox1;
}
</script>
< asp:TextBox ID ="txtMessage" runat ="server" > </asp:TextBox>
< input id ="btn" type ="button" value ="GetRandom" onclick ="GetNumber()" />
注意: < asp:button >不能在这里使用
< script language ="javascript" type ="text/javascript" >
function GetNumber()
{
UseCallBack(); //回调函数
}
//用来接受返回信息并显示
function GetRandom(TextBox1, content)
{
document.forms[0].txtMessage.value = TextBox1;
}
</script>
< asp:TextBox ID ="txtMessage" runat ="server" > </asp:TextBox>
< input id ="btn" type ="button" value ="GetRandom" onclick ="GetNumber()" />
注意: < asp:button >不能在这里使用
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
Page_Load,GetCallbackResult() 写法趋于固定, 只需要换方法名即可.
RaiseCallbackEvent()方法是用来处理需要显示的数据信息. 一般调用连接数据库返回信息.
转载于:https://blog.51cto.com/luoyi/287933