none
新发现!!!!!!关于ASP.Net验证控件 RRS feed

  • 问题

  • <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="File_Default" %>
    
    
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head runat="server">
    
        <title>无标题页</title>
    
    </head>
    
    <body>
    
        <form id="form1" runat="server">
    
        <div>
    
            姓名:<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
    
            <asp:RequiredFieldValidator ID="rfv" runat="server" Text="*" ControlToValidate="txtName"></asp:RequiredFieldValidator>
    
            <br />
    
            年龄:<asp:TextBox ID="txtAge" runat="server"></asp:TextBox>
    
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" Text="*"
    
                ControlToValidate="txtAge"></asp:RequiredFieldValidator>
    
            <asp:CompareValidator ID="CompareValidator1" runat="server" Text="请输入正整数" ControlToValidate="txtAge"
    
                Operator="GreaterThan" Type="Integer" ValueToCompare="0"></asp:CompareValidator>
    
            <br />
    
            <asp:Button ID="btnSubmit" runat="server" Text=" 提 交 " OnClientClick="alert('验证通过');"/>
    
        </div>
    
        </form>
    
    </body>
    
    </html>
    
    
    怎样在验证通过后弹出“验证通过”,而不是每次点击提交按钮的时候? 我自己不想写Javascript验证。
    努力!奋斗
    2009年10月12日 10:06

答案


  •   <asp:Button ID="btnSubmit" runat="server" Text=" 提 交 "
       OnClientClick="if(Page_ClientValidate() ){theForm.onsubmit=null; alert('验证通过'); return false;}
     
        "/>
    • 已建议为答案 mldark 2009年10月12日 15:46
    • 已标记为答案 艾边成 2009年10月13日 1:51
    2009年10月12日 15:45

全部回复

  •  <asp:Button ID="btnSubmit" runat="server" Text=" 提 交 " OnClientClick="alert('验证通过');document.forms['form1'].onsubmit=null;"/>
    2009年10月12日 10:46
  • 不行啊!我要的效果是,当所有验证控件都验证通过后,弹出“验证通过”,然后提交。

    麻烦大家看看!


    努力!奋斗
    2009年10月12日 10:58

  •   <asp:Button ID="btnSubmit" runat="server" Text=" 提 交 "
       OnClientClick="if(Page_ClientValidate() ){theForm.onsubmit=null; alert('验证通过'); return false;}
     
        "/>
    • 已建议为答案 mldark 2009年10月12日 15:46
    • 已标记为答案 艾边成 2009年10月13日 1:51
    2009年10月12日 15:45
  • 你可以在服务器端的验证事件里注册js脚本啊
    【孟子E章】
    2009年10月13日 1:02
    版主
  • <%@ Page Language="C#" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <script runat="server">

      protected void btnSubmit_Click(object sender, EventArgs e)
      {
        if (Page.IsValid)
        {
          Page.ClientScript.RegisterStartupScript(Page.GetType(), "x", "alert('OK')", true);
        }
      }
    </script>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
      <title>无标题页</title>
    </head>
    <body>
      <form id="form1" runat="server">
      <div>
        姓名:<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="rfv" runat="server" Text="*" ControlToValidate="txtName"></asp:RequiredFieldValidator>
        <br />
        年龄:<asp:TextBox ID="txtAge" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" Text="*"
          ControlToValidate="txtAge"></asp:RequiredFieldValidator>
        <asp:CompareValidator ID="CompareValidator1" runat="server" Text="请输入正整数" ControlToValidate="txtAge"
          Operator="GreaterThan" Type="Integer" ValueToCompare="0"></asp:CompareValidator>
        <br />
        <asp:Button ID="btnSubmit" runat="server" Text=" 提 交 " OnClick="btnSubmit_Click" />
      </div>

      </form>
    </body>
    </html>

    【孟子E章】
    2009年10月13日 1:07
    版主
  • <%@ Page Language="C#" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <script runat="server">

      protected void btnSubmit_Click(object sender, EventArgs e)
      {
        if (Page.IsValid)
        {
          Page.ClientScript.RegisterStartupScript(Page.GetType(), "x", "alert('OK')", true);
        }
      }
    </script>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
      <title>无标题页</title>
    </head>
    <body>
      <form id="form1" runat="server">
      <div>
        姓名:<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="rfv" runat="server" Text="*" ControlToValidate="txtName"></asp:RequiredFieldValidator>
        <br />
        年龄:<asp:TextBox ID="txtAge" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" Text="*"
          ControlToValidate="txtAge"></asp:RequiredFieldValidator>
        <asp:CompareValidator ID="CompareValidator1" runat="server" Text="请输入正整数" ControlToValidate="txtAge"
          Operator="GreaterThan" Type="Integer" ValueToCompare="0"></asp:CompareValidator>
        <br />
        <asp:Button ID="btnSubmit" runat="server" Text=" 提 交 " OnClick="btnSubmit_Click" />
      </div>

      </form>
    </body>
    </html>

    【孟子E章】

    孟老师,谢谢您的回答,但您可能没有明白我的意思。我要的是在客户端验证通过后,弹出“验证通过”,然后提交。在弹出“验证通过”后,提交刷新!

    mldark 基本上已经告诉我了,应该像以下这样就满足了我的意思:


    <asp:Button ID="btnSubmit" runat="server" Text=" 提 交 " OnClientClick="if(Page_ClientValidate()){alert('验证通过'); return true;}"/>





    努力!奋斗
    2009年10月13日 1:51
  • 我想问一下,这个提交刷新到哪儿去~~~

    2009年10月13日 7:35
  • 我想问一下,这个提交刷新到哪儿去~~~


    提交到当前页面,你查看源文件就知道了!


    努力!奋斗
    2009年10月13日 11:35
  • 也可以这样!

    <asp:Button ID="btnSubmit" runat="server" Text=" 提 交 " OnClientClick="if(Page_ClientValidate()){alert('验证通过'); }"/>
    

    努力!奋斗
    2009年10月13日 11:36