簡體   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