asp.net 验证控件RequiredFieldValidator与js冲突的解决

<asp:TextBox ID="txtAtlasName" runat="server" width="400px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
                        ControlToValidate="txtAtlasName" ErrorMessage="不能为空">不能为空</asp:RequiredFieldValidator>

 

<asp:Button ID="btn_createAtlas" runat="server" Text="创建图集"
                        οnclick="btn_createAtlas_Click" CausesValidation="True" />

 

如上所示,RequiredFieldValidator用来验证textbox是否为空

 

protected void Page_Load(object sender, EventArgs e)
    {
        this.btn_createAtlas.Attributes.Add("onclick", "javascript:return window.confirm('确定创建吗?');");
    }

 

page_load里添加了button事件,但是在点击按钮后,并不会触发页面的RequiredFieldValidator的验证。那么修改如下:

 

 

1  将button的CausesValidation属性设置为false

<asp:Button ID="btn_createAtlas" runat="server" Text="创建图集"
                        οnclick="btn_createAtlas_Click" CausesValidation="false" />

 

2  button确认属性中加入Page_ClientValidate()判断

protected void Page_Load(object sender, EventArgs e)
    {
        this.btn_createAtlas.Attributes.Add("onclick", "javascript:if(Page_ClientValidate())   return window.confirm('确定创建吗?');");
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值