ユーザーからの入力を受け取るASP.NETフォームがあります。フォームにはSubmit
ボタンと、テキストフィールドに入力する計算を行うCalc
というボタンがあります。私が抱えている問題は、フォーム上に<ASP:REQUIREDFIELDVALIDATOR>
バリデーターとCalc
ボタンが押されると、フォームが検証されます。 Calc
ボタンが押されたときに必須フィールドを検証したくないので、Submit
ボタンのみを押してください。これを回避する方法はありますか?
CausesValidation
プロパティをfalseに設定します。
<asp:Button runat="Server" ... CausesValidation="False" />
Button.CausesValidation (正しく覚えている場合)。
CausesValidation="false"
ボタン属性として。
いくつかのサンプルコード:
http://weblogs.asp.net/scottgu/archive/2005/08/04/421647.aspx
ASPXページ:
<asp:Button ID="buttonNew" runat="server" Text="New" CausesValidation="False" />
[〜#〜] or [〜#〜]
CodeBehindページ:(.cs)
buttonNew.CausesValidation = false;
here をチェックして、コントロールのValidated
およびValidating
イベントの詳細を確認します。
Button.causesValidationをfalseに設定します。
ただし、ユーザー入力に基づいて何かを計算するだけの場合は、ポストバックすることはまったくありません。 HTMLボタンを使用し、JavaScriptを添付して作業を行うことをお勧めします。そうすれば、この問題は発生しません。
ボタンの設計中に、プロパティCausesValidation = "false"を設定して、ボタンクリックイベントでの検証を回避できます。サーバーコントロールを検証し、クリックイベントのみを実行することはできません。
特定のコントロールで検証を無効にするには
コントロールのCausesValidationプロパティをfalseに設定します。
<asp:Button id="Button3" runat="server"
Text="Cancel" CausesValidation="False">
</asp:Button>
検証コントロールを無効にするには
Set the validation controls Enabled property to false.
クライアント側の検証を無効にするには
Set the validation controls EnableClientScript property to false.