2012-04-09 21 views
4

投稿フォームデータを送信しないASPボタンはありますか?投稿なしのASP.netボタン

aspボタンをクリックするとフォームデータがポストされ、その動作を変更して他のフォームデータをポストすることができますので、プログラムで作成します。

おかげでたくさん すべてのヘルプははるかに

答えて

2

を理解されるであろうあなたはJavaScriptを使用してonclickイベントをインターセプトする必要があり、そこには、Ajaxの呼び出しを行います。

イベントハンドラではfalseが返され、フォームは送信されません。このような何か:あなたはあなたのC#関数/メソッドを呼び出す必要があるものは何でもyour_asp_entry.aspx

<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> 

更新:OPの後に答えを変更しました。彼/彼女はC#関数を呼び出す必要があります。

+0

はい、しかし、私はC#関数を呼び出すことはできません!私は送信動作を無効にして、関数を呼びたい。たとえUseSubmitBehaviorがfalseに設定されていてもそれは送信されます。 – Pinchy

+1

@Pinchy:C#関数を呼び出す必要がある場合は、イベントハンドラで** AJAX **を実行する必要があります。それがあなたの唯一の選択です。 JQueryやその他のJSライブラリを使用してAJAX呼び出しを行い、C#関数を呼び出します。 –

+0

これに関するチュートリアルはありますか?ありがとう – Pinchy

2

onclientclick="Javascript:return false;"属性UseSubmitBehaviour = "false" に使用

+0

これは少なくともSP2013ではなく、ポップアップダイアログで使用すると機能しません。これにより、ダイアログが閉じます。 @Imran Rafiqueのソリューションが動作します。 – K48

7

aspbuttonに追加私の問題を解決し

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

この属性は、より多くの情報の.NET V2.0、以降で使用可能です:Button.UseSubmitBehavior Property

+0

これは間違っています。 UseSubmitBehaviorがfalseの場合、ボタンタイプは '' 'button'''に変更されますが、フォームはまだjavascriptを介して送信されます。 trueの場合、ボタンタイプは '' 'submit'''です。いずれにしても、フォームが提出されます。 – Sprintstar

関連する問題