3

ページに動的に作成される入力ボタンがあり、それを押すたびに、電子メール アドレスの空白フィールドに対して RequiredFieldValidator が起動されます。それを上書きする方法はありますか?

入力コード:

<input class=\"hledat\" id=\"searchbutton\" type=\"image\" src=\"search-button.gif\" value=\"{0}\" onclick=\"search('{1}');\" onkeypress=\"search('{1}');\"/>"

バリデーターコード:

<asp:TextBox runat="server" ID="txtEmail" ClientIDMode="Static" Width="98%" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="txtEmail" ErrorMessage="email"
    Display="dynamic" ValidationGroup="newsletter" />
<asp:RegularExpressionValidator runat="server" ControlToValidate="txtEmail" ErrorMessage="email"
    ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Display="dynamic"
    ValidationGroup="newsletter" />
4

3 に答える 3

1

ページに動的に作成される入力ボタンがあり、それを押すたびに、電子メール アドレスの空白フィールドに対して RequiredFieldValidator が起動されます。それを上書きする方法はありますか?

HtmlButton.CausesValidation プロパティ

マークアップ

<button causesvalidation="false" /><button ID="StateQueryButton" CausesValidation="False" runat="server"> Submit </button>


はい、ポストバックを実行したい

HtmlButton.OnServerClick メソッド

コードビハインド

protected void FancyBtn_Click(object sender, EventArgs e)
{  

}

マークアップ

<button causesvalidation="false" /><button ID="StateQueryButton" CausesValidation="False" OnServerClick=" FancyBtn_Click" runat="server" > Submit </button>

于 2012-04-17T09:11:37.927 に答える
1

runat="Server"属性を記述してサーバー側のボタンにし、要件に合わせてCausesValidation="true|false"を作成します。false を指定すると、検証されません。問題が解決するかどうか教えてください

于 2012-04-17T08:29:31.740 に答える
0

次のように入力ボタンにrunat="server"を追加してみてください。

*注* runat="server" に注意してください。asp:button はおそらく同様にレンダリングされますが、本当に HTML ボタン入力が必要な場合は、それを使用できます。はい、ASP.NET はサーバー側で値を取得します。**

<input type="button" runat="server" id="btnTest" value="change" onclick="doPostBack('btnTest', '');"/> 
于 2012-04-17T08:29:36.067 に答える