我的GridView需要验证都是模块列,如<asp:TemplateField HeaderText="下达资金&lt;br/&gt;(万元)">
                        <ItemStyle Width="80px" CssClass="gv" Height="25px" HorizontalAlign="Left" VerticalAlign="Middle" />
                        <HeaderStyle Width="80px" BackColor="#C8E3F9" CssClass="gv" Font-Bold="False" Font-Size="14pt"
                            HorizontalAlign="Center" VerticalAlign="Middle" />
                            <ItemTemplate><asp:TextBox Width ="75px" MaxLength="7" ID="txtMoney" Text='<%#Eval("Bankroll")%>' runat="server"></asp:TextBox></ItemTemplate>
                    </asp:TemplateField>
有几行,,在客户端是可以随便控制的,,但我需要对每一行里的TextBox模块列进行验证,该怎么做呢.
要通过js在客户端验证的

解决方案 »

  1.   

    其实ValidationControl也进行着客户端验证,不然它做不到在客户端数据不规范时阻止提交。
      

  2.   

    我要验证什么,怎么验证我懂得,,,
    我只是不清楚怎么取各行的textbox值,,
      

  3.   

     在那个gridview里面加 没试过
       
       我想可能能验证但不阻止提交吧 
      

  4.   

    gridview 在客户端生成的还是table 
    lz可以查看下源文件 找到table的ID 然后在js里就可以去找到table中的控件 
      

  5.   

    <asp:TemplateField>
    <ItemTemplate>
    <asp:CheckBox ID="chkRecord" runat="server" AutoPostBack="False" onclick="check(this);" />
    </ItemTemplate>
    <HeaderStyle BorderWidth="1px" Font-Size="9pt" HorizontalAlign="Center" />

    </asp:TemplateField>
    function check(source)
    {
    var checkedCount =document.getElementById("ctl00_ContentPlaceHolder2_Hidd").value;
       if(source.checked){
    checkedCount++; 
       }else{
    checkedCount--; 
       }
    document.getElementById("ctl00_ContentPlaceHolder2_Hidd").value = checkedCount;
     }以上是验证GridView中第一列中的CheckBox是否有被选中,希望能对你有所启发!
      

  6.   

    8楼的,你这没有取你模块列里的CheckBox啊
      

  7.   


     for (int i = 0; i < GridView1.Rows.Count; i++)
     {
        if (GridView1.Rows[i].RowType == DataControlRowType.DataRow)
        {
           ((TextBox)GridView1.Rows[i].Cells[1].FindControl("TextBox1")).Text;//此为各行textbox值,textbox在第二例
        }
     }
      

  8.   

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
            <Columns>
            <asp:BoundField DataField="学号" HeaderText="学号" />
            <asp:BoundField DataField="姓名" HeaderText="姓名" />
            <asp:TemplateField>
            <ItemTemplate>
                           <asp:TextBox Text='<%#Eval("学号") %>' runat="server" ID="txtNo"></asp:TextBox>
            </ItemTemplate>
            </asp:TemplateField>
            </Columns>
            </asp:GridView>
    <script type="text\javascript">
    function check()
    {
     var table=document.getElementById("GridView1");
     for(var i=1;i<table.rows.Length;i++)
     {
       var temp=table.rows(i).cells(2);
       alert(temp.childNodes(0).value);
     }
    }
      

  9.   

    遍历喽
    ((TextBox)GridView1.Rows[i].Cells[1].FindControl("TextBox1")).Text
      

  10.   

    我用要js的验证,,不是.net的验证
      

  11.   

    var inputs=document.getElementById("<%=GridViewID.ClientID%>").getElementsByTagName("input")//获取所有input开头的控件,注意获取的是gridview的客户端idfor(var i=0;i<inputs.length;i++){
      if(inputs[i].type=="text"){//是输入控件则进行判断
        if(isNaN(inputs[i].value){
           alert("内容不是数字,请检查~!");
           inputs[i].focus();
           return false
        }
      }
    }
      

  12.   

    楼主,我在8楼写的JS功能是:如果某行的CheckBox被选中,则将页面上的隐藏变量加1或减1.你要实现的功能,也无非是某一个文本框有字符输入的时候,判断一下输入值是否正确吧?只是不知道楼主是想输入字符后自动验证,还是点击某一按钮后再验证呢?
      

  13.   

    楼主,我在8楼写的JS功能是:如果某行的CheckBox被选中,则将页面上的隐藏变量加1或减1.你要实现的功能,也无非是某一个文本框有字符输入的时候,判断一下输入值是否正确吧?只是不知道楼主是想输入字符后自动验证,还是点击某一按钮后再验证呢?
      

  14.   

    楼主,我在8楼写的JS功能是:如果某行的CheckBox被选中,则将页面上的隐藏变量加1或减1.你要实现的功能,也无非是某一个文本框有字符输入的时候,判断一下输入值是否正确吧?只是不知道楼主是想输入字符后自动验证,还是点击某一按钮后再验证呢?
      

  15.   

     for (int i = 0; i < GridView1.Rows.Count; i++)
     {
        if (GridView1.Rows[i].RowType == DataControlRowType.DataRow)
        {
           ((TextBox)GridView1.Rows[i].Cells[1].FindControl("TextBox1")).Text;//此为各行textbox值,textbox在第二例
        }
     } 在Data_Binding事件中写。
      

  16.   

    没收获,,还是用我原来的办法吧,,
    方法可到我的博客看,地址是
    js验证GridView
    http://blog.csdn.net/beblue/archive/2008/10/15/3078601.aspx