我很难弄清楚如何从数据网格中的标签中获取值。 (Gridview)我想得到<asp:Label ID="Label4" runat="server" Text='<%# Eval("IDAfspraken") %>'></asp:Label>
的价值。我以为我可以说int id = Label4.Text
,但他不知道Label4
。我的问题是如何获得这个价值?我需要主键来从我的数据网格中删除行。欢迎任何帮助,谢谢你提前。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" Width="1000px" HorizontalAlign="Center">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:TemplateField HeaderText="IDAfspraken">
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Eval("IDAfspraken") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Afspraak">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Afspraak") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Uitleg">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("Uitleg") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Categorie">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("IDCategorieën") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Verwijderen">
<ItemTemplate>
<asp:Button ID="Button2" runat="server" Text="Verwijder" ForeColor="Red" Font-Bold="true" OnClick="Button2_Click"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EditRowStyle BackColor="#999999" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>
答案 0 :(得分:0)
试试这个,
GridViewRow row = (GridViewRow)(((Control)sender).NamingContainer);
int index = row.RowIndex;
Label lbltext= (Label)GridView1.Rows[index].FindControl("Label4");
string s= lbltext.Text;
答案 1 :(得分:0)
datagridView包含一个名为DataKeyNames
的属性,为此目的设置了datakeyNames属性,您必须通过将其传递给gridview来设置它的值。
答案 2 :(得分:0)
我有这个工作:
_controller = new Controller();
string id="";
foreach (GridViewRow row in GridView1.Rows)
{
id = ((Label)row.FindControl("Label4")).Text;
}
_controller.VerwijderRecordTblAfspraken(Convert.ToInt32(id));