繁体   English   中英

在gridview内的用户控件中找到控件的客户端ID

[英]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控件公开一个属性以进行所需的更改。 这将使控件的客户不必了解内部工作原理。 只需创建一个属性,然后在getset方法中编写代码即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM