5

是否有不会提交表单数据的 ASP 按钮。

每当我单击一个 asp 按钮时,它都会发布表单数据,我想更改该行为以便发布一些其他表单数据,我将以编程方式创建它。

4

5 回答 5

13

使用属性 UseSubmitBehaviour="false" 解决了我的问题

<asp:Button ID="button1" runat="server" UseSubmitBehavior="false" Text="just a button" />

此属性自 .Net v2.0 起可用,有关详细信息:Button.UseSubmitBehavior 属性

于 2015-02-04T08:49:28.063 回答
4

您需要使用 JavaScript 并拦截onclick事件,然后进行 Ajax 调用。

在事件处理程序中,返回false并且您的表单将不会被提交。像这样的东西:

<script>
    function on_s() {
       /// do some AJAX with JQuery or any other library
       $.ajax({ url: "your_asp_entry.aspx" });
       // you can add some processing to the AJAX call
       return false;
    }
</script>
<body>
<form runat="server">
<asp:Button id="b1" Text="Submit" runat="server" OnClick="return on_s();" />
</form>
</body>

your_asp_entry.aspx你做任何你需要调用你的 C# 函数/方法的事情。

更新:在 OP 谈到他/她需要调用 C# 函数的评论后更改了答案。

于 2012-04-09T12:00:40.063 回答
3

添加 onclientclick="Javascript:return false;"到 aspbutton

于 2012-04-09T12:03:06.613 回答
0

这里的根本问题是<button>默认情况下 a 将提交其父表单,除非另有说明(例如type="button")。

这是一个相关的答案,讨论了添加UseSubmitBehavior="false"ASP 属性以在按钮上设置正确的类型属性。

这里是来自 MDN 的文档,它解释了type="submit"未指定时的默认类型。

于 2018-03-16T22:54:11.267 回答
0

这是一个没有表单提交的示例按钮 html 按钮,只需使用带有 runat="server" 和type="button"的 html 按钮。

<input id="butDelete" runat="server" class="btn btn-danger" type="button" 
value="Delete" OnServerClick="butDelete_ServerClick" onclick="if 
(!confirm('Sure?')) return;"/>
于 2018-04-01T07:32:37.547 回答