在网格视图中的用户控件中查找控件的客户端Id
本文关键字:控件 客户端 Id 查找 网格 用户 视图 | 更新日期: 2023-09-27 18:17:03
所以。。。我试图找到一个控件(一个隐藏的输入字段(的客户端ID,该控件是动态绑定到网格视图"项目模板"的用户控件的一部分。我试图在"RowDataBound"事件中执行以下操作,但似乎不起作用。
protected void grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (ShowSelectColumn)
{
HiddenField MfrHiddenField = (e.Row.Cells[2].FindControl("MfrNumHiddenfield")) as HiddenField;
}
其中"MfrNumHiddenfield"是所述隐藏输入字段的ID。e.row.cells[2]是"用户控件"绑定到的列的单元格编号…
以下是如何将用户控件添加到网格视图中:
grid.Columns.Add(CreateTemplateField(
path + "ManufacturerHeader.ascx",
path + "ManufacturerCell.ascx"));
我想做的事情有什么问题吗?请帮助
您通常不需要查看单元格。e.Row.FindControl("MfrNumHiddenfield")
应该足够了。
由于您正在自定义控件中寻找控件,您可以尝试:
e.Row.FindControl("manufacturerCellControl").FindControl("MfrNumHiddenfield")
我从来没有尝试过,但它似乎是合理的。
一个更好的选择是从ManufacturerCell
控件中公开一个属性以进行所需的更改。这将使控件的客户端不需要了解内部工作原理。只需创建一个属性,然后用get
和set
方法编写代码。