论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > javascript教程教程
Tag:验证,特效,入门,实例,验证,表单,特效,正则表达式,跑马灯,document,函数,代码,getElementByID,菜单,图片,视频教程

JavaScript 调用 Asp.Net 服务器端的事件

文章类别:javascript教程 | 发表日期:2008-10-5 17:48:37

 可以用以下变通的方法实现用JavaScript调用服务器端的事件方法
 2 1、增加如下JavaScript方法
 3 这个就是将Asp.Net 中生成的脚本Copy过来,嘿嘿,很贼哦。
 4 function __doPostBack(eventTarget, eventArgument)
 5 {
 6     var theform;
 7     if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1)
 8     {
 9         theform = document.Form1;
10     }
11     else
12     {
13         theform = document.forms["Form1"];
14     }
15     theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
16     theform.__EVENTARGUMENT.value = eventArgument;
17     theform.submit();
18 }
19
20 //以下就是要从JavaScript中通知服务器端,你该干活了
21 function NotifyServer()
22 {
23      //.可以做一些设置,判断
24
25      Button1是服务器控件的ID,'abc' 可以自己设置,这个我需要给服务器传递一些消息数据,平时直接用'即可
26      __doPostBack('Button1','abc')
27 }
28
29 2、aspx 页面
30 要增加 以下两个隐藏字段
31     <input type="hidden" name="__EVENTTARGET">
32     <input type="hidden" name="__EVENTARGUMENT">
33
34 <asp:Button id="Button1"  runat="server" Text="Button"  Visible="False"></asp:Button>
35
36 这里就是要执行Button1 的后台代码,同时要将他的Visible 设置成 False ,(虽然资料说 不能将Enable 设置成False,但是我试了一下 将Enabled设置成False还是可以用的
37
38 同时增加一个
39 <input type="button" id="but" onclick="NotifyServer()" value="ServerExecute"> ,执行服务器代码
40
41 3、aspx.vb 页面代码
42     Response.Write("alert('" & Request("__EVENTARGUMENT").ToString() & "'"); ")
43     这里的Request("__EVENTARGUMENT").ToString() 就是'abc'的内容
44
45 4、注意事项
46 用此种方法,页面中不能有AutoPost=True 的服务器控件,因为有AutoPost=True的控件的页面系统会自动生成以上的代码(2个hidden控件,还有一个__doPostBack函数),如果你的页面中 有AutoPost=True的服务器控件,那么你不需要加以上的代码(2个hidden控件,还有一个__doPostBack函数),直接用__doPostBack函数吧

 

视频教程列表
文章教程搜索
 
Javascript推荐教程
Javascript热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058