• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
一个具有上进心的码农
因为一篇文章中有很多是从很多篇文章中摘取的,请恕我没有一一说明摘取出处,如果没有说明,则该文章默认是摘取,如有侵犯您的权益,请与我联系,将会马上删除。
博客园    首页    新随笔    联系   管理    订阅  订阅

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

 可以用以下变通的方法实现用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函数吧
47 

48 5、说明:
posted @ 2008-09-08 11:49  不若相忘于江湖  阅读(265)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3