2011-01-26 34 views
1

ボタンをクリックしたい(ASP.net) - JSメソッドを実行する必要があり、その場合はASP.Netを呼び出す必要があります - ie。私はフォームをhvし、クライアントサイドで検証された(JSがtrueを返す)場合、asp.netのbutton -clickイベントのみが起動する必要があります。javascriptボタンをクリックしてasp.netボタンをクリック

これを行う方法?

答えて

1

あなたが唯一の応答に何かを実行したい場合は、Cyber​​nateの例@使用しますが、変更:

<asp:Button ... OnClientClick="if (yourValidationMethod() == false) return false;" /> 

無効の場合は、戻りそうでない場合はfalse通常のポストバックが発生し、ポストバックをブロックします。

+0

どのようにと異なるのですか?ちょうど私がJSに新しいことを知って好奇心が強い! –

+0

OK、クライアントのクリックコードの後に​​、実際にサーバーへのポストバックをトリガーする__doPostBackまたはWebForm_DoPostBackWithOptions呼び出しがあります。ちょうどreturn yourValidationmethod();検証が成功したときにポストバックを許可しません。私が持っているように、偽の場合にのみルーチンを終了すると、無効な場合にのみポストバックがブロックされます。 –

1

ASP.NETボタンのOnClientClickプロパティを使用します。検証が失敗した場合はfalseを返し、成功した場合はtrueを返します。

+0

ありがとうございます。私はOnClientClickを知っています - しかし、これは素晴らしい効果があるこれらの日を知っていない!なんて恥ずかしい男なんだ! –

3

てみOnClientClick ASPの属性:ボタンすなわち

<asp:Button ... OnClientClick="return yourValidationMethod()" /> 

あなたの検証方法は、検証に基づいてtrueまたはfalseを返すことを確認してください。