ASP.net按钮没有提交

问题描述 投票:4回答:5

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

每当我点击一个asp按钮它发布表单数据,我想改变这种行为,所以我可以发布一些其他表单数据,我将以编程方式创建它。

非常感谢任何帮助将不胜感激

asp.net
5个回答
3
投票

您需要使用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#函数的评论后改变了答案。


8
投票

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

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

此属性自.Net v2.0起可用,以获取更多信息:Button.UseSubmitBehavior Property


3
投票

onclientclick="Javascript:return false;"添加到asp按钮


0
投票

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

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

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


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;"/>
© www.soinside.com 2019 - 2024. All rights reserved.