获取gridview列的值
本文关键字:gridview 获取 | 更新日期: 2023-09-27 17:50:34
我想把控件作为Gridview的templatefields的列,它不应该被隐藏。在每个列的末尾都有一个按钮。我的问题是,我应该使用什么控制,以及如何获得在Gridview中单击按钮的列的特定行的值。
您应该使用HiddenField
作为GridView
中的列,因为控件不可见,因此满足您的要求。后面的代码将在gridview
public void gdView_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "sendvalue")
{
for (int i = 0; i < gdView.Rows.Count; i++)
{
int getrow = Convert.ToInt32(e.CommandArgument);
HiddenField HiddenField1 = (HiddenField)gdView.Rows[getrow].FindControl("HiddenField1");
}
}
其中e.c mandname == "sendvalue"是因为属性命令按钮名称设置为"sendvalue"
HiddenField在设计中将作为
<asp:HiddenField ID="HiddenField1" runat="server"/>
您想要得到什么值?
你可以处理按钮的点击事件并将sender
转换为Button
,并将NamingContainer
转换为GridViewRow
。然后,您就可以找到该行中所有其他控件了。
protected void Button1_Clicked(Object sender, EventArgs e)
{
// get the button reference
Button btn = (Button) sender;
GridViewRow row = (GridViewRow) btn.NamingContainer;
// assuming the primary key value is stored in a hiddenfield with ID="HiddenID"
HiddenField hiddenID = (HiddenField) row.FindControl("HiddenID");
int id = int.Parse(hiddenID.Value);
}
aspx (GridView's TemplateField)
<asp:Button ID="Button1" runat="server" Text="Click Me" OnClick="Button1_Clicked"/>
<asp:HiddenField ID="HiddenID" runat="server" Value='<%# Eval("PrimaryKeyField") %>'/>
您可以通过将将要单击的按钮的CommandArgument
属性设置为在行数据绑定期间所需的值来更改方法。
在模板中使用隐藏字段。