0
我使用RegularExpressionValidators作爲ASP.NET窗體中的輸入文本框。如何觸發RegularExpressionValidator的客戶端驗證?
GUI看起來像。所有的項目都是服務器控件,當離開文本框時,如果輸入無效,我會顯示錯誤消息。
我已經在RegularExpressionValidator中使用EnableClientScript啓用了客戶端驗證。一旦我離開文本框,它立即啓動驗證器。但是,一旦點擊任何按鈕(導致生成回發),就會從屏幕上刪除正則表達式驗證器錯誤顯示。我該如何重新觸發客戶端驗證?
我用asp.net一個新手
---------------------------
| | * Invalid input
---------------------------
Listbox A Listbox B
------------ ------------
| | | |
| | | |
| | >> | |
| | | |
| | | |
------------ ------------
代碼是這樣。
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:TextBox ID="nameBox" runat="server" CssClass="StandardTextBox" Width="297px"
EnableViewState="true"></asp:TextBox>
<asp:RegularExpressionValidator ID="regExpValidatorRuleName2" align="left" runat="server"
ControlToValidate="nameBox"
Width="10px" Height="10px"
CssClass="StandardErrorLabel"
Display="Dynamic"
ErrorMessage="Input has Invalid character(s). Valid characters are a-z, A-Z, 0-9, _, @, ., -"
ValidationGroup="EditingPanel"
ValidationExpression="^[[email protected]]*$"
ToolTip="Input has Invalid character(s). Valid characters are a-z, A-Z, 0-9, _, @, ., -">*</asp:RegularExpressionValidator>
<asp:Panel ID="criteriaPanel1" GroupingText="Test" runat="server"
left="19px" CssClass="InputPanelTableLeft" Width="400px" Height="470px" Font-Bold="True"
Font-Size="X-Small">
<table class="InputPanelTable">
<tr>
<td align="left">
<asp:ListBox ID="listboxA" Rows="10" runat="server" EnableViewState="true"
Width="150px" Height="100px"></asp:ListBox>
</td>
<td style="padding: 0px 5px 0px 5px" valign="middle">
<asp:Button ID="buttonMove" runat="server" OnClick="buttonMove_OnClick"
Text=">>" ToolTip="Moves selected item from left side to right" />
</td>
<td align="left">
<asp:ListBox ID="listboxB" Rows="10" runat="server" EnableViewState="true"
Width="150px" Height="100px"></asp:ListBox>
</td>
</tr>
</table>
</asp:Panel>
</asp:Content>
我可以使用客戶端腳本來解決這個問題,但有數據源附加到列表框。在這種情況下,情況並不理想。是否可以使用'UpdatePanel'解決這個問題? @ashokkumar – sarat 2013-02-22 03:55:59
UpdatePanel也會導致回發,但唯一的區別是回發是異步發生的。您已經提到數據源已附加到列表框。即使那樣你也可以使用javascript將ListBox A中的元素移動到ListBox B.根據你的要求,將ListBox A中的元素移動到ListBox B只能通過JavaScript來發生,但是不會發生。如果您想知道如何使用Javascript在ListBoxes中移動數據,請告訴我一些示例數據。 – 2013-02-22 04:05:45
我已經設法使用JavaScript編寫代碼來移動數據,但不幸的是數據源導致一些問題... ListboxA包含從數據庫檢索並作爲數據源附加到數據的數據。它包含簡單的文字(「1」,「2」也會這樣)。 – sarat 2013-02-22 04:22:24