关于服务器端控件与客户端之间的交互
2010-12-15 17:10
183 查看
1、服务器端控件执行客户端脚本,可以利用OnClientClick事件。
下面有2个按钮,一个是客户端,一个是服务器端:
<input type="Button1" value="Submit" onclick="EventFunction()" />
<asp:Button ID="Button2" runat="server" Text="Button" OnClientClick="EventFunction();" />
很多人肯定以为上面两个按钮的效果是一样的。
其实点击Button2(服务器端控件),后你会发现执行完客户端脚本之后,它继续会回传到服务器上,重新加载页面。
那么怎么禁止这种控件执行完之后不回传服务器呢?
答案就是给OnClientClick 事件return false值。代码变为
<asp:Button ID="Button2" runat="server" Text="Button" OnClientClick=" return EventFunction();" />
EventFunction方法return false。
这样就不会回传服务器端了。
当然也可以这样来做:OnClientClick="EventFunction();return false;
附注说明:
如果直接在 Web 窗体的 HTML 代码内为服务器端控件添加客户端事件代码,就像这样:
<asp:Button id="Button1" OnClick="window.alert('按钮被按下了')" Text="按钮1"/>
你会发现,当按下这个按钮时,并没有预定的消息框弹出,而是直接执行服务器端代码内的响应按钮按下事件的 Button1_Click 方法(假设我们已经为按钮绑定了这个事件)。如果查看客户端页面的源代码,按钮的 OnClick 事件里,根本没有自己写的代码,却变成了"JavaScript:__doPostBack(...)"。
其实这正是.NET Framework 转换工作的一部分。有了这个"JavaScript:__doPostBack(...)",才能实现按钮提交、服务器端响应事件等一系列动作。
2、利用服务器端控件的Attributes属性
想为服务器控件添加客户端的事件,需要用到Attributes属性。Attributes属性是所有的服务器控件都有的一个属性,它用来为最终生成的HTML添加自定义的一些标记。假设Web Form上有一个保存按钮btnSave,希望在用户点此按钮时提示用户是否确实要保存(比如一旦保存就无法恢复等),则应在Page_Load事件中添加如下代码:
btnSave.Attributes.Add(“onclick”,“Javascript:return confirm(‘Are you sure tosave?’);”)
要注意的是‘return’,这是不可省的,否则即使用户点了取消,数据仍然会保存。
参考:
http://www.cnblogs.com/nightmare23/archive/2010/01/22/nightmare23.html http://www.cnblogs.com/majiangquan/archive/2009/03/20/1417837.html http://www.cnblogs.com/linzheng/archive/2010/09/11/1824169.html
下面有2个按钮,一个是客户端,一个是服务器端:
<input type="Button1" value="Submit" onclick="EventFunction()" />
<asp:Button ID="Button2" runat="server" Text="Button" OnClientClick="EventFunction();" />
很多人肯定以为上面两个按钮的效果是一样的。
其实点击Button2(服务器端控件),后你会发现执行完客户端脚本之后,它继续会回传到服务器上,重新加载页面。
那么怎么禁止这种控件执行完之后不回传服务器呢?
答案就是给OnClientClick 事件return false值。代码变为
<asp:Button ID="Button2" runat="server" Text="Button" OnClientClick=" return EventFunction();" />
EventFunction方法return false。
这样就不会回传服务器端了。
当然也可以这样来做:OnClientClick="EventFunction();return false;
附注说明:
如果直接在 Web 窗体的 HTML 代码内为服务器端控件添加客户端事件代码,就像这样:
<asp:Button id="Button1" OnClick="window.alert('按钮被按下了')" Text="按钮1"/>
你会发现,当按下这个按钮时,并没有预定的消息框弹出,而是直接执行服务器端代码内的响应按钮按下事件的 Button1_Click 方法(假设我们已经为按钮绑定了这个事件)。如果查看客户端页面的源代码,按钮的 OnClick 事件里,根本没有自己写的代码,却变成了"JavaScript:__doPostBack(...)"。
其实这正是.NET Framework 转换工作的一部分。有了这个"JavaScript:__doPostBack(...)",才能实现按钮提交、服务器端响应事件等一系列动作。
2、利用服务器端控件的Attributes属性
想为服务器控件添加客户端的事件,需要用到Attributes属性。Attributes属性是所有的服务器控件都有的一个属性,它用来为最终生成的HTML添加自定义的一些标记。假设Web Form上有一个保存按钮btnSave,希望在用户点此按钮时提示用户是否确实要保存(比如一旦保存就无法恢复等),则应在Page_Load事件中添加如下代码:
btnSave.Attributes.Add(“onclick”,“Javascript:return confirm(‘Are you sure tosave?’);”)
要注意的是‘return’,这是不可省的,否则即使用户点了取消,数据仍然会保存。
参考:
http://www.cnblogs.com/nightmare23/archive/2010/01/22/nightmare23.html http://www.cnblogs.com/majiangquan/archive/2009/03/20/1417837.html http://www.cnblogs.com/linzheng/archive/2010/09/11/1824169.html
相关文章推荐
- asp.net中服务器端控件和客户端控件的交互问题
- Asp.net中小技巧—服务器端Web控件与客户端Html控件交互
- 关于服务器端与客户端的交互
- 解决workshop开发的服务器端与axis开发的客户端之间的交互通信问题
- Asp.net中小技巧—服务器端Web控件与客户端Html控件交互
- 客户端服务器端控件间的交互
- Asp.net中小技巧—服务器端Web控件与客户端Html控件交互
- Asp.net中小技巧—服务器端Web控件与客户端Html控件交互
- 服务器端Web控件与客户端Html控件交互(转)
- 关于enum ,调用webservice,用户控件与主页面之间的交互,datsource属性,net面试题,反射类生成sql语句,URl重写一个小实例
- 封装一个类搞定90%安卓客户端与服务器端交互
- 关于vbscript 与 javascript如何传递变量(包括服务器端与客户端)
- Socket(套接字)在服务器端和客户端之间的基本工作原理
- 农民伯伯--关于ASP.NET同页面内【用户控件与父页面】以及【用户控件与用户控件】之间方法调用/传值 一点点经验
- 关于JS客户端对服务器控件赋值,Post后不能保留值的解决办法
- 关于客户端与数据库服务器端的时间同步问题
- GridView控件常见问题及处理方法===1. 关于隐藏字段的处理:==2. 关于按钮列的事件:==3. 关于按钮的客户端提示:==4. 关于时间字段的格式化输出:==5. 关于绑定空记录:
- 关于客户端与数据库服务器端的时间同步问题
- Asp.Net 之 服务器端控件与客户端控件的区别
- 关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法