获取GridView内TextBox控件的值

来源:互联网 发布:战龙三国许褚进阶数据 编辑:程序博客网 时间:2024/06/05 06:51

代码 
<asp:GridView ID="NianDaiGridView" runat="server" AllowPaging="True" 
                 AutoGenerateColumns="False" BorderWidth="1px" CellPadding="4" 
                 ForeColor="#333333" Width="100%" DataKeyNames="niandaid" PageSize="8" 
                 EnableModelValidation="True" 
                     onpageindexchanging="NianDaiGridView_PageIndexChanging" 
                     onrowcreated="NianDaiGridView_RowCreated" 
                     onrowcancelingedit="NianDaiGridView_RowCancelingEdit" 
                     onrowediting="NianDaiGridView_RowEditing" 
                     onrowupdating="NianDaiGridView_RowUpdating" 
                     onrowdeleting="NianDaiGridView_RowDeleting">
                 <RowStyle BackColor="#EFF3FB" HorizontalAlign="Center" />
                 <Columns>
                     <asp:BoundField DataField="niandaid" HeaderText="编号" ReadOnly="True" />
                     <asp:TemplateField HeaderText="朝代国家">
                         <ItemTemplate>
                             <asp:Label ID="lblcaodaim" runat="server" Text='<%#Eval("caodaim") %>'></asp:Label>
                             <asp:Label ID="lblguoming" runat="server"  Text='<%#Eval("guoming") %>'></asp:Label>
                         </ItemTemplate>
                         <EditItemTemplate>
                             <asp:TextBox ID="txtcaodaim" runat="server" Text='<%#Eval("caodaim") %>' Width="50px"></asp:TextBox>
                             <asp:TextBox ID="txtguoming" runat="server" Text='<%#Eval("guoming") %>' Width="80px"></asp:TextBox>
                         </EditItemTemplate>
                     </asp:TemplateField>
                     <asp:TemplateField HeaderText="起止年代(年)">
                         <ItemTemplate>
                             <asp:Label ID="lblqizhi" runat="server" Text='<%#Eval("qizhi") %>'></asp:Label>
                         </ItemTemplate>
                         <EditItemTemplate>
                             <asp:TextBox ID="txtqizhi" runat="server" Text='<%#Eval("qizhi") %>'></asp:TextBox>
                         </EditItemTemplate>
                     </asp:TemplateField>
                     <asp:CommandField HeaderText="编辑" ShowEditButton="True" />
                     <asp:TemplateField HeaderText="删除">
                         <ItemTemplate>
                             <asp:LinkButton ID="LinkButton1" runat="server" 
                                 CommandArgument='<%#Eval("niandaid") %>' CommandName="GetDeleteByID" 
                                 OnClientClick="return confirm(&quot;您真的要删除这条记录吗?&quot;)" Text="删除" CausesValidation="False">删除</asp:LinkButton>
                         </ItemTemplate>
                     </asp:TemplateField>
                 </Columns>
                 <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                 <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                 <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                 <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" 
                     Height="30px" />
                 <EditRowStyle BackColor="#2461BF" />
                 <AlternatingRowStyle BackColor="White" />
             </asp:GridView>



代码 

protected void NianDaiGridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            //获得编号 这个编号要在GridView中设置一下属性 DataKeyNames 这里设置的是数据库的主键ID
            //e.RowIndex 这个通过 事件源 e 来获得RowIndex 代表 行号
            int agentId = int.Parse(this.NianDaiGridView.DataKeys[e.RowIndex].Value.ToString());


            //  这里是取得编辑时的值
            //  通过 Rows[e.RowIndex] 当时事件的行 
            //  FindControl[""]代表获取GridView内的控件名称,如FindControl("txtshehui")
            //  我们取出来的控件的类型都是Control类型 的,所以,我们要根据我们定义的控件类型去转换,这里是TextBox类型 (注意 括号的加法)
            //如果是其它类型,就转换成其它的类型就可以了如DropDownList
            TextBox txtguoming = (TextBox)NianDaiGridView.Rows[e.RowIndex].FindControl("txtguoming");
            TextBox txtqizhi = (TextBox)NianDaiGridView.Rows[e.RowIndex].FindControl("txtqizhi");
            string guoming = txtguoming.Text;
            string qizhi = txtqizhi.Text;
            //调用修改的方法


            //实例化对象
            txpj.Model.*** model = new txpj.Model.***();
            model.niandaid = agentId;
            model.guoming = guoming;
            model.qizhi = qizhi;
            txpj.BLL.***bll = new txpj.BLL.***();
            bll.Update(model);


            Page.ClientScript.RegisterStartupScript(this.GetType(), "PopupScript", "alert('修改成功!')", true);


            //修改完全后,把EditIndex设置为-1  ,非编辑状态
            this.NianDaiGridView.EditIndex = -1;


            //记得要重新调用一下绑定数据的方法哦
            dataBind();

        }







0 0