2012-04-09 66 views
4

是否有ASP按鈕不會提交帖子數據。沒有提交的ASP.net按鈕

每當我點擊一個asp按鈕它張貼表單數據,我想改變這種行爲,所以我可以發佈一些其他表單數據,我會以編程方式創建它。

非常感謝 任何幫助將非常感激

回答

2

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

2

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

+0

這不起作用,至少在SP2013中不起作用,並且在彈出對話框中使用。這會導致對話框關閉。 @ Imran Rafique的解決方案有效。 – K48 2016-09-13 04:14:41

7

使用屬性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