【问题标题】:FindControl returns null in MasterPageFindControl 在 MasterPage 中返回 null
【发布时间】:2019-01-09 03:17:31
【问题描述】:

我在 MasterPage 中有一个 nested DataList。 我正在尝试 Findcontrol, 但它为 DataList2 返回 null。

到目前为止我尝试了什么:

DataList DataList1 = Page.Master.FindControl("DataListMain") as DataList;

DataList DataList2 = DataList1.FindControl("DataListNested") as DataList;

我该如何解决这个问题?

【问题讨论】:

  • 我已经通过更改代码和使用 Web 用户控件解决了这个问题,而不是在 Masterpage 上这样做。

标签: asp.net nested master-pages findcontrol nested-datalist


【解决方案1】:

DataList 有项目。所以需要通过索引定位嵌套的DataList。

DataList dl = ((DataList)Master.FindControl("DataListMain")).Items[i].FindControl("DataListNested") as DataList;

但是请注意,母版页的内容是在使用该母版的页面内容之后加载的。

【讨论】:

  • 你使用变量 i。你能添加完整的代码吗?
  • 这是完整的代码。 i 只是 DataListMain 中包含嵌套数据列表的项目的索引号
  • 那么我应该使用foreach吗?
  • 取决于您是要访问所有嵌套的DataListNested 还是只访问一个。如果你想要全部然后循环DataListMain中的项目。
  • foreach (DataListItem item in ((DataList)Master.FindControl("DataListMain")).Items)
猜你喜欢
  • 1970-01-01
  • 2013-03-16
  • 2013-09-20
  • 2012-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
  • 2012-10-31
相关资源
最近更新 更多