对ASP控件验证的几种方法

来源:互联网 发布:全面战争系列 知乎 编辑:程序博客网 时间:2024/06/11 12:31

       前一段时间,被ASP控件验证,整的云里雾里的用最为原始最简单的方法,总结一下。这里总结的都是ASP控件,并有涉及到HTMl控件。


        第一:想到的应该是ASP验证控件对其进行验证。

  <tr>    <td width="12%">开 户 行:</td>    <td width="84%">        <asp:TextBox ID="txtkhx" runat="server" MaxLength="30" Width="23%"></asp:TextBox>         <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtzhmc" ErrorMessage="开户行必须填写"></asp:RequiredFieldValidator>      </td>   </tr>
      这样做是最为简单的,但是我这里却出现了一个问题,就是点击保存按钮的时候,他却没有进行验证,在网上查找了一下方法,但是仍然不可以用,这下我就焦急了,但是这种方法我估计在VS2012中都可以实现。一下就是第二种方法。


        第二:写在JS中进行验证

js:

 function remind()        {            if(document.getElementById("<%=txtkhx.ClientID%>").value=="")            {                        innerRemindStr("txtkhxdiv","开户行不能为空",true);                change_pro(0);                return false;            }            else            {                innerRemindStr("txtkhxdiv","",false);            }         document.getElementById("<%=btnAdd.ClientID%>").click()      }

HTMl:

 <tr>    <td width="12%">开 户 行:</td>    <td width="84%">        <asp:TextBox ID="txtkhx" runat="server" MaxLength="30" Width="23%"></asp:TextBox>        <div id="txtkhxdiv"></div>    </td>      </tr>

提交:

 <div align="center">                                    <input id="Buttonss" type="button" value="<%=commandName %>" onclick="javascript:remind();" />  </div><div align="center" style="display:none;">          <asp:Button ID="btnAdd" runat="server" Text="提   交"  OnClick="btnAdd_Click" ></asp:Button> </div>

       这个特点就是,他写了一个JS方法,当然是用HTMl控件来调用,所以就加上一个input控件呈现在页面,当点击的时候,就先触发验证,JS代码最后一句是调用ASp控件的点击事件,这样两全其美。


       第三:后台验证因为提交时候触发button事件,所以直接把验证写在后台进行验证。


HTML:

 <tr>    <td width="12%">开 户 行:</td>    <td width="84%">        <asp:TextBox ID="txtkhx" runat="server" MaxLength="30" Width="23%"></asp:TextBox>    </td>      </tr>

后台:

  protected void Button1_Click(object sender, EventArgs e)        {           //验证开户行是否为空            if (string .IsNullOrEmpty (txtkhx.Text))            {                Page.ClientScript.RegisterStartupScript(GetType(), "message", "<script language='javascript'>alert('系统提示:\\n开行账户必须填写!');document.all('txtkhx').focus()</script>");                return;            }       }
       这种方法是最初在VB中的而一种验证方法,简单实用。

       但是问题又来了,我在商品发布的时候实用了此方法,但是因为弹出了一个提示,一点击确认就会刷新页面,整个发布商品的页面就会打乱。。。这个问题,在后边会提到。

       问题不断的出现,各种奇葩的问题,这时候意识到什么是“学无止境”,不分场所,不分年龄,不分时间。。。


0 0