[英]Find client Id of control in a user control inside a gridview
所以...我试图找到控件的客户端ID(隐藏的输入字段),该控件是用户控件的一部分,该控件动态绑定到Grid视图“项目模板”。 我试图在“ 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]是“用户控件”绑定到的列的单元格编号。
以下是将用户控件添加到gridview的方式:
grid.Columns.Add(CreateTemplateField(
path + "ManufacturerHeader.ascx",
path + "ManufacturerCell.ascx"));
我要做什么有什么问题吗? 请帮忙
您通常不需要查看单元格。 e.Row.FindControl("MfrNumHiddenfield")
应该足够。
由于您要在自定义控件中寻找控件,因此可以尝试:
e.Row.FindControl("manufacturerCellControl").FindControl("MfrNumHiddenfield")
我从未尝试过,但似乎是可行的。
更好的选择是从ManufacturerCell
控件公开一个属性以进行所需的更改。 这将使控件的客户不必了解内部工作原理。 只需创建一个属性,然后在get
和set
方法中编写代码即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.