代码如下
<script>
function submitForm( theForm ){
theForm.action = 'http://www.sohu.com';
//theForm.submit();
return true;
}
</script><form id="form1" name="form1" runat="server" method="post" action="" target="_blank" onsubmit="return submitForm(this)"><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button"  OnClientClick="javascript:submitForm" onclick="LinkButton1_Click"  />

请教:怎么才能先执行服务器端的“LinkButton1_Click”呢

解决方案 »

  1.   

    表单不提交,怎么去服务器端执行LinkButton1_Click?
      

  2.   

    那你编译后看下html源代码,他的后台事件也编译成了一个_Post事件。把这两个js函数放同一个里面就可以控制顺序了。。--
    可能有其他好的方法吧。
      

  3.   

     protected void LinkButton1_Click(object sender, EventArgs e)
        {
    string sql = "";
    .
    .
    .
    ...ExecNonQuery(sql);
          
            Page.RegisterStartupScript("ggg", "<script type=text/javascript>submitForm(form1)</script>");
    }这样下执行以下数据库后不执行Page.RegisterStartupScript了
      

  4.   

    document.getElementById("Button1").click();
      

  5.   

    <script>
    function submitForm( theForm ){
        theForm.action = 'http://www.sohu.com';
        //theForm.submit();
        return true;
    }
    </script><form id="form1" name="form1" runat="server" method="post" action="" target="_blank" onsubmit="return submitForm(this)"><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="Button"  OnClientClick="javascript:submitForm" onclick="LinkButton1_Click"  />
    ......
    <script type="text/javascript">if(allowRun!=undefined && allowRun==true)
    {
        submintForm(document.forms['form1']);
    }
    </script>然后在你的服务端LinkButton1_Click处理函数中这么写:LinkButton1_Click(object sender, EventArgs e)
    {
        //......
        Responsw.Write("<script type='text/javascript'> var allowRun=true; </script>");
    }