2012-06-07 57 views
0

我有一個aspx頁面,其中包含用於搜索的文本框和圖像按鈕。我用文本框使用了比較驗證器(檢查整數值)。但即使輸入字母數字字符,該頁面也會重新加載圖像按鈕,並顯示錯誤消息。驗證失敗後在圖像按鈕中停止回發

我嘗試使用regularexpressionvalidator來代替,但問題仍然存在。

但是,當我使用一個簡單的asp:按鈕來代替它並使用文本框驗證綁定它時,它的工作正常(即回發不會發生在文本框的不正確值上),並且dropdownlist也是如此(無回發發生)。

請建議。

這裏的代碼 -

@peroija:下面的代碼

<asp:ImageButton ID="btnSearch" runat="server" OnClick="btnSearch_Click" 
    ToolTip="Search" ValidationGroup="valControl" CausesValidation="true" /> 
<asp:TextBox ID="txtWidth" CssClass="TextFont" runat="server" 
    Width="233px" MaxLength="20" 
    ValidationGroup="valControl" CausesValidation="true"></asp:TextBox> 
<asp:CompareValidator runat="server" ID="cmpValWidth" 
    ErrorMessage="Please enter integer values" ControlToValidate="txtWidth" Display="Dynamic" 
    Operator="DataTypeCheck" ValidationGroup="valControl"Type="Integer"/> 
+0

您可以發佈您的文本框,圖像按鈕和比較驗證程序的代碼嗎?它聽起來像你可能已經分配了其中一個,但沒有其他驗證組 – peroija

+0

不要忘記接受一個答案,如果它幫助你... –

回答

0

聽起來好像是你需要寫

if(!isPostBack) 
{ 

「代碼」

} 

在代碼後面。爲了防止代碼被運行,如果該頁面未首次

+0

你是完全離開地圖那裏的朋友,那不是他的問題.. 。 –

+0

「她」的問題..:P – manishKungwani

0

從文本中刪除此觀看,你只需要在驗證器和按鈕:

ValidationGroup="valControl" CausesValidation="true" 

如果JavaScript被禁用,那麼將不會有客戶端驗證,所以請務必在服務器端檢查有效性:

if(Page.IsValid) 
{ 
    "your btnSearch_Click code" 
} 
+0

我試過沒有ValidationGroup =「valControl」CausesValidation =「true」 對文本框,但沒有用...我嘗試檢查與簡單的asp:按鈕驗證,甚至與一個下拉選定的索引被改變),那麼它的工作正常..它與這個圖像按鈕創建問題。 –

+0

@MeghaGupta你的圖像按鈕是否有任何客戶端代碼(檢查頁面源代碼或瀏覽器開發人員工具) - 如果它在這裏發佈,但基本上它必須**不**具有任何'return'語句.. –

+0

是有一些客戶端..基本上驗證數據在其他控件如文本框等通過JavaScript和返回true/false取決於成功的驗證或不是分別..如何返回stmt在客戶端代碼的問題? –