没有提交的ASP.net按钮

问题描述:

是否有ASP按钮不会提交帖子数据。没有提交的ASP.net按钮

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

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

您需要使用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> 

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

更新:在OP对他/她需要调用C#函数的评论中说过了之后,更改了答案。

+0

是的,但后来我无法调用任何c#函数!我想禁用提交行为并调用一个函数。即使UseSubmitBehavior设置为false,它仍然提交。 – Pinchy 2012-04-09 12:06:08

+1

@Pinchy:如果您需要调用C#函数,您需要在您的事件处理程序上执行** AJAX **。这是你唯一的选择。使用JQuery或任何其他JS库来执行AJAX调用并调用C#函数。 – 2012-04-09 12:08:01

+0

有没有关于这个的任何教程?谢谢 – Pinchy 2012-04-09 12:09:43

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

+0

这不起作用,至少在SP2013中不起作用,并且在弹出对话框中使用。这会导致对话框关闭。 @ Imran Rafique的解决方案有效。 – K48 2016-09-13 04:14:41

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

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

该属性可自净V2.0,以了解更多信息:Button.UseSubmitBehavior Property

+0

这是不正确的。如果UseSubmitBehavior为false,那么按钮类型将更改为'''button''',但表单仍然通过javascript提交。如果它是真的,那么按钮类型是'''submit'''。无论哪种方式提交表格。 – Sprintstar 2018-02-14 14:05:44