【问题标题】:HttpPost and event on same button Asp.Net Web Forms同一按钮上的 HttpPost 和事件 Asp.Net Web 表单
【发布时间】:2016-06-18 10:57:06
【问题描述】:

是否可以在必须运行事件代码的 Asp.Net Web 表单中的按钮上执行 Http Post?

如果我按以下方式在按钮上执行 Http Post:

<input type="submit">

我将无法运行事件的代码,如果我将按钮添加为 asp 控件,我将无法执行发布请求。

这个问题只是this one 的一个简单的问题,它没有取得那么大的成功。

【问题讨论】:

    标签: javascript c# asp.net


    【解决方案1】:

    您可以使用asp:Button,它提供OnClientClickOnClick 事件。 OnClientClick 调用客户端函数。您可以在OnClientClickOnClick 上拨打ajax 调用事件。

    <asp:Button ID="btnSave" Text="Save" OnClick="btnSave_Click" OnClientClick="CallAjax()" runat="server" />
    
    function CallAjax() {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "Default.aspx/CallAjax",
                data: JSON.stringify({ name: "YourNmae", age: "12" }),
                dataType: "json",
                async: false,
                success: function (data) {
                    //your code
    
                },
                error: function (err) {
                    alert(err.responseText);
                }
    
            });
        }
    

    【讨论】:

    • 感谢您的回答,根据我的要求,这确实是正确的,但我无法使用它来实现我需要的全部功能。但无论如何,它是正确的,我要谢谢你!
    【解决方案2】:

    添加一个普通的 &lt;input type="button" /&gt; 和一个隐藏的 asp:button(css 隐藏),将一个事件附加到正常输入,然后做一个

    __doPostBack('&lt;%= buttonId.UniqueName %&gt;');

    在点击事件中,应该这样做

    【讨论】:

    • 谢谢你,隐藏的 asp:button 真的很鼓舞人心!
    【解决方案3】:

    为了解决帖子问题,我隐藏了正在执行帖子的按钮,并添加了另一个正在运行事件的控件,在事件结束时,它使用ScriptManager注册了一个实际上是在点击隐藏按钮的脚本。然后在这种情况下隐藏的按钮正在做一个简单的帖子,因为它的输入类型等于submit

    我需要这个隐藏按钮,因为我想在另一个视图中打开结果,而我无法以 Ajax 方式进行。有关此功能的实现的更多详细信息,以及为实现此功能可能出现的问题,可以在this questionthis one 中找到。

    【讨论】:

      猜你喜欢
      • 2015-05-26
      • 2015-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-14
      • 1970-01-01
      • 2018-11-05
      • 1970-01-01
      相关资源
      最近更新 更多