通过js调用服务器事件

<body>
<div>
    <form id="Form1" name="Form1">   
     <input type="hidden" name="__EVENTTARGET" /> <input type="hidden" name="__EVENTARGUMENT" />

    <script language="javascript" type="text/javascript">
    function __doPostBack(eventTarget,eventArgument)
    {
    var theform;
    if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1)
    {
    theform = document.Form1;
    }
    else
     {
    theform = document.forms["Form1"];
    }
    theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
    theform.__EVENTARGUMENT.value = eventArgument;
    theform.submit();
    }
   </script>
<input type="button" name="bt" value="bt" onclick="__doPostBack('Button1','')"></input>
<input type="button" name="bt1" value="bt1" onclick="__doPostBack('Button2','')"></input>
</form>
<form id="form2" runat="server">
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        <asp:Button ID="Button1" name="Button1"
            runat="server" Text="Button1" OnClick="Button1_Click" />
    <asp:Button ID="Button2" name="Button2"
            runat="server" Text="Button2" OnClick="Button2_Click" />
   
    </form></div>
</body>
大家都知道一个页面不能有两个runat=server的表单,但是通过js调用服务器事件就可以突破这种限制,可以在一个没有runat=server的表单里调用一个在runat=server的表单中所有控件触发的服务器事件。

posted @ 2007-12-30 15:50  痴人说梦  阅读(514)  评论(0编辑  收藏  举报