【问题标题】:Dynamically do postback动态回发
【发布时间】:2012-06-04 14:02:43
【问题描述】:

是否可以在 vb.net 或 c#.net 中进行动态回发?

如果我点击按钮A,有一个asp按钮(比如说buttonA),它必须执行一些操作然后触发回发

不应在单击按钮时触发回发。只有在执行了一些操作后才会触发回发

我已经搜索了将近一天,但找不到任何解决方案,请帮助

非常感谢 猫

【问题讨论】:

    标签: vb.net postback


    【解决方案1】:

    默认所有的 asp 按钮都会做回发。如果您想在回发之前执行一些客户端功能,只需将其添加到 OnClientClick 属性并从函数返回 truefalse,具体取决于您是否需要回发。

    <asp:Button ID="Btn1" OnClientClick="return MyFunction();" />
    
    function MyFunction()
    {
        alert('test');
        return true; //Do postback
    }
    

    【讨论】:

      【解决方案2】:

      从客户端调用跟随 JS 到回发。

      Response.Write("<script>document.forms[0].submit();</script>");
      

      或者在你想要回发的时候从 JS 调用。

      __doPostBack(id,'');
      

      【讨论】:

        【解决方案3】:

        您可以将客户端脚本附加到 ASP.NET 按钮的 OnClientClick 事件。

        <asp:Button ID="MyButton" OnClientClick="return MyButton_ClientClick()" Text="Click Me" runat="server" />
        

        那么你的 JavaScript 函数将如下所示:

        function MyButton_ClientClick()
        {
           ...
           __doPostback();
        }
        

        不是最好的解决方案,但至少它可以让您了解如何继续。

        【讨论】:

          【解决方案4】:

          谢谢大家,终于找到解决办法了

          点击按钮我执行一些操作,然后使用下面的代码调用 js 函数

          ScriptManager.RegisterStartupScript(Me, Me.GetType(), "postback", "postback();", True)
          

          postback()是执行回发的JS函数

          function postback()
          {
          
              document.form1.submit(); //postback
          
          }
          

          干杯, 一斤

          【讨论】:

            猜你喜欢
            • 2011-08-24
            • 1970-01-01
            • 2011-12-01
            • 2017-06-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-03-11
            • 2011-04-14
            相关资源
            最近更新 更多