2011-07-20 37 views
1

我有一個aspx頁面,我在其他.js文件中使用了jquery驗證器。我對這個文件的代碼是由於客戶端驗證,ASP.net中的頁面重新加載問題

function checkRequiredInputs(){ 

$("#frmSaleSubmissionInfo").validate({ 
    rules:{ 
     txtFName:{required: true}, 
     txtLName:{required: true}, 
     txtAddress:{required: true}, 
     txtPhone:{required: true} 
    }, 
    messages:{ 
     txtFName:"Enter Name", 
     txtLName:"Enter Name", 
     txtAddress:"Enter Address", 
     txtPhone:"Enter Phone Number" 
    } 
}); 

$("#txtPhone").keydown(function(event) { 
    // Allow only backspace,delete,comma(,),left arrow,right arraow and Tab 
    if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 188 
     || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 9){ 
     // let it happen, don't do anything 
    } 
    else { 
     // Ensure that it is a number and stop the keypress 
     if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode <96 ||event.keyCode > 105)) { 
      event.preventDefault(); 
     } 
    } 
}); 

} 

和驗證碼在ASPX實現

<script type="text/javascript"> 
    $(document).ready(function(){ 
     checkRequiredInputs(); 
}); 

</script> 

我有一個關閉按鈕,它就像

<asp:ImageButton ID="btnClose" runat="server" ImageUrl="~/ButtonImages/Button_Close_Normal.png" 
        Height="16px" onclick="btnClose_Click" /> 

其click事件是 protected void btnClose_Click(object sender,ImageClickEventArgs e) { Response.Redirect(「anotherPage.aspx」,false); }

現在我的問題是,只要我點擊關閉按鈕,如果驗證失敗,即如果任何必填字段保持空白,它不會放棄去另一個頁面。但是如果驗證沒有發生,那麼關閉按鈕會將我帶到另一個頁面。我的目標是讓這個關閉按鈕工作,而不管任何客戶端驗證?我該怎麼辦?請幫助我,提前謝謝

回答

0

如果你所做的當你點擊btnClose是:Response.Redirect("anotherPage.aspx", false);那麼爲什麼還要打擾服務器端控制?我會代替btnClose:

<a href="/anotherPage.aspx"><img src="~/ButtonImages/Button_Close_Normal.png" /></a> 

這將工作無論

+0

謝謝您suggesion,但我不能在這裏使用一個鏈接,我要使用的按鈕。因爲我現在工作的頁面是一個子頁面,另一個頁面是父頁面,所以通過關閉子頁面我必須返回到父頁面。所以我需要使該服務器按鈕可以工作。 – Pankouri

+0

不太確定我遵循你的意思。是否有更多的服務器端的東西發生在按鈕後面,而不僅僅是'Response.Redirect(「anotherPage.aspx」,false);'? –

+0

不,除了我在這裏寫的東西外沒有一條線。 – Pankouri