由于客户端验证,ASP .net中的页面重新加载问题

时间:2011-07-20 10:07:31

标签: c# asp.net jquery-validate reload

我有一个aspx页面,我在另一个.js文件中使用了jquery验证器。我的这个文件的代码是

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" />

及其点击事件是     protected void btnClose_Click(object sender,ImageClickEventArgs e)         {             Response.Redirect(“anotherPage.aspx”,false);         }

现在我的问题是,每当我点击关闭按钮时,如果验证失败,即如果任何必需字段保持为空,则不允许另一个页面。但是如果没有进行验证,则关闭按钮会将我带到另一页。我的目标是使那个关闭按钮工作,无论客户端验证是什么?我该怎么办?请帮帮我,谢谢你提前

1 个答案:

答案 0 :(得分:0)

如果您点击btnClose时所做的一切都是:Response.Redirect("anotherPage.aspx", false);那么为什么还要打扰服务器端控件呢?我会用:

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

无论

,这都有效