数据表有一个列,ispass,值是1/0 
我加一个模板列button,如果是1的,button的test就是"已经审核",反之如果是0就是未审 
然后,我点这个按钮,点一次,未审变已审,已审变未审各位达人没时间定代码,请说一下方法和贴些关键代码出来
求代码,不感感激!!

解决方案 »

  1.   

    Text='<%# Eval("ispass").ToString() == "1" ? "已经审核" : "未审核" %>
      

  2.   

    sbqcel(活死人):
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            string sID="";
            if (e.CommandName.Equals("IsPass"))
            {
                //GridViewRow row = GridView1.Rows[Convert.ToInt32(e.CommandArgument)];
                //sID = row.Cells[2].Text.ToString();
                Page.RegisterStartupScript("", "<script>alert('"+sID+"')</script>");
                //Student stu = new Student();
                //stu.StuId = sID;
                //int IsPass;
                //if(int.Parse(stu.StuIsPass)==1)
                //{
                //    IsPass=0;
                //}
                //else
                //{
                //    IsPass=1;
                //}
                //stu.StuIsPass = IsPass.ToString();
            }
        }我点这个按钮说是格式不对,该怎么写?
      

  3.   

    哪行报错?
    能把模版列按钮的HTML代码帖出来吗?
      

  4.   

    输入字符串的格式不正确。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.FormatException: 输入字符串的格式不正确。源错误: 
    行 33:         if (e.CommandName.Equals("IsPass"))
    行 34:         {
    行 35:             GridViewRow row = GridView1.Rows[Convert.ToInt32(e.CommandArgument)];
    行 36:             sID = row.Cells[2].Text.ToString();
    行 37:             Page.RegisterStartupScript("", "<script>alert('"+sID+"')</script>");
     源文件: e:\files\wwwroot\StudentDB\admin\student.aspx.cs    行: 35 
      

  5.   

    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
                            AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="SqlDataSource1"
                            PageSize="20" ShowFooter="True" CellPadding="4" ForeColor="#333333" GridLines="None" Font-Size="Small" Width="100%" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowCommand="GridView1_RowCommand">
                            <Columns>
                                <asp:TemplateField HeaderText="选择">
                                    <FooterTemplate>
                                        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click1" Text="删除" />
                                    </FooterTemplate>
                                    <ItemTemplate>
                                        <asp:CheckBox ID="CheckBox1" runat="server" />
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True"
                                    SortExpression="id" Visible="False" />
                                <asp:BoundField DataField="stu_name" HeaderText="学生姓名" SortExpression="stu_name" />
                                <asp:BoundField DataField="stu_sex" HeaderText="性别" SortExpression="stu_sex" />
                                <asp:BoundField DataField="stu_SchRec" HeaderText="学历证号" SortExpression="stu_SchRec" />
                                <asp:BoundField DataField="sch_name" HeaderText="学校名称" SortExpression="sch_name" />
                                <asp:BoundField DataField="sch_type" HeaderText="类型/界数" SortExpression="stu_type" />
                                <asp:BoundField DataField="submitDate" DataFormatString="{0:d}" HeaderText="录入时间"
                                    HtmlEncode="False" SortExpression="submitDate" />
                                <asp:BoundField DataField="username" HeaderText="录入人" SortExpression="username" />
                                <asp:TemplateField>
                                    <ItemTemplate>
                                    <asp:Button ID="Button2" runat="server" CommandName="IsPass" Text='<%# Eval("ispass").ToString() == "1" ? "已审" : "未审" %>'
     />
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField>
                                    <ItemTemplate>
                                        &nbsp;<asp:HyperLink ID="HyperLink1" runat="server" Target="_blank" NavigateUrl='<%# "studentedit.aspx?id="+Eval("id") %>'
                                            Text="编辑"></asp:HyperLink>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:BoundField DataField="IsPass" HeaderText="IsPass" SortExpression="IsPass" Visible="False" />
                            </Columns>
                            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                            <RowStyle BackColor="#EFF3FB" />
                            <EditRowStyle BackColor="#2461BF" />
                            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                            <AlternatingRowStyle BackColor="White" />
                        </asp:GridView>
      

  6.   

    你使用了e.CommandArgument
    但GridView的模板列Button 并未指定CommandArgument 所以取出的数据为空,转为int时失败<asp:Button ID="Button2" runat="server" CommandArgument='<%# Eval("id") %>' CommandName="IsPass" Text='<%# Eval("ispass").ToString() == "1" ? "已审" : "未审" %>'
     /> //指定CommandArgument值为id
     e.CommandArgument 就是获取当前点击按钮对应数据的ID
      

  7.   

    我按上面给的代码索引超出范围。必须为非负值并小于集合大小。
    参数名: index 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
    参数名: index源错误: 
    行 37:         if (e.CommandName.Equals("IsPass"))
    行 38:         {
    行 39:             GridViewRow row = GridView1.Rows[Convert.ToInt32(e.CommandArgument)];
    行 40:             sID = row.Cells[1].Text.ToString();
    行 41:             //    //Student stu = new Student();