【发布时间】:2016-06-18 10:57:06
【问题描述】:
是否可以在必须运行事件代码的 Asp.Net Web 表单中的按钮上执行 Http Post?
如果我按以下方式在按钮上执行 Http Post:
<input type="submit">
我将无法运行事件的代码,如果我将按钮添加为 asp 控件,我将无法执行发布请求。
这个问题只是this one 的一个简单的问题,它没有取得那么大的成功。
【问题讨论】:
标签: javascript c# asp.net
是否可以在必须运行事件代码的 Asp.Net Web 表单中的按钮上执行 Http Post?
如果我按以下方式在按钮上执行 Http Post:
<input type="submit">
我将无法运行事件的代码,如果我将按钮添加为 asp 控件,我将无法执行发布请求。
这个问题只是this one 的一个简单的问题,它没有取得那么大的成功。
【问题讨论】:
标签: javascript c# asp.net
您可以使用asp:Button,它提供OnClientClick 和OnClick 事件。 OnClientClick 调用客户端函数。您可以在OnClientClick 和OnClick 上拨打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);
}
});
}
【讨论】:
添加一个普通的
<input type="button" />
和一个隐藏的 asp:button(css 隐藏),将一个事件附加到正常输入,然后做一个
__doPostBack('<%= buttonId.UniqueName %>');
在点击事件中,应该这样做
【讨论】:
为了解决帖子问题,我隐藏了正在执行帖子的按钮,并添加了另一个正在运行事件的控件,在事件结束时,它使用ScriptManager注册了一个实际上是在点击隐藏按钮的脚本。然后在这种情况下隐藏的按钮正在做一个简单的帖子,因为它的输入类型等于submit。
我需要这个隐藏按钮,因为我想在另一个视图中打开结果,而我无法以 Ajax 方式进行。有关此功能的实现的更多详细信息,以及为实现此功能可能出现的问题,可以在this question 或this one 中找到。
【讨论】: