C# 从gridview中的文本框获取值
我有一个GridView,绑定了2个文本框和一个更新按钮。网格视图是动态的,因此行号可以根据数据集的大小而变化。现在我想要的是,当我更改这个文本框中的值并单击update时,数据库中该行的数据应该得到更新。数据库中的文本框值应该得到更新 这是我的代码:C# 从gridview中的文本框获取值,c#,asp.net,gridview,C#,Asp.net,Gridview,我有一个GridView,绑定了2个文本框和一个更新按钮。网格视图是动态的,因此行号可以根据数据集的大小而变化。现在我想要的是,当我更改这个文本框中的值并单击update时,数据库中该行的数据应该得到更新。数据库中的文本框值应该得到更新 这是我的代码: <asp:GridView ID="dgAbstractSummary" runat="server" AutoGenerateColumns="False" OnRowDat
<asp:GridView ID="dgAbstractSummary" runat="server" AutoGenerateColumns="False" OnRowDataBound="dgAbstractSummary_RowDataBound" OnRowCreated="dgAbstractSummary_RowCreated"
Visible="true">
<Columns>
<asp:BoundField HeaderText="ID" DataField="id" HtmlEncode="false"></asp:BoundField>
<asp:BoundField HeaderText="Abstract Title" DataField="title" HtmlEncode="false"></asp:BoundField>
<asp:TemplateField HeaderText="Significance Score">
<ItemTemplate>
<asp:TextBox ID="txtSignificanceScore" AutoPostBack="true" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"significanceScore")%>'></asp:TextBox>
<div class="voffset3"></div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Innovation Score">
<ItemTemplate>
<asp:TextBox ID="txtInnovationScore" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"innovationScore")%>'></asp:TextBox>
<div class="voffset3"></div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button AutoPostBack="true" CssClass="btn btn-primary btn-embossed" ID="btnUpdate" runat="server"
Text="Update"
OnClick="btnUpdate_Click" CommandArgument='<%#Eval("Id") %>' />
<div class="voffset3"></div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="panel-default"></HeaderStyle>
<RowStyle CssClass=""></RowStyle>
</asp:GridView>
此处Id(第一列)是每行的唯一键。使用“查找控制”功能,使用“按钮发送者”事件查找网格视图行上的两个文本框 像这样的
Button btn = (Button)sender;
GridViewRow gvr = (GridViewRow)btn.NamingContainer;
TextBox details = gvr.FindControl("detailsText") as TextBox;
//do something with details
TextBox cusID = gvr.FindControl("TextBox2") as TextBox;
Button btn = (Button)sender;
GridViewRow gvr = (GridViewRow)btn.NamingContainer;
TextBox details = gvr.FindControl("detailsText") as TextBox;
//do something with details
TextBox cusID = gvr.FindControl("TextBox2") as TextBox;