[英]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.