如何从内容页面访问母版页上的.Net元素?

Edd*_*die 14 .net c#

是否可以从主页中加载的页面访问主页面上的元素ContentPlaceHolder

我有一个ListView,它在主页面的导航区域中列出了人们的姓名.我想在将一个人添加到ListView数据绑定到的表后更新ListView.在ListView重新加载缓存之前,当前不会更新它的值.我们发现只需重新运行ListView.DataBind()会更新listview的内容.我们无法在ListView.DataBind()使用母版页的页面上运行.

下面是我想要做的一个示例,但编译器错误说

"PeopleListView在当前上下文中不存在"

GIS.master - ListView所在的位置

...<asp:ListView ID="PeopleListView"...
Run Code Online (Sandbox Code Playgroud)

GISInput_People.aspx - 使用GIS.master作为主页面

GISInput_People.aspx.cs

AddNewPerson()
{
    // Add person to table
    ....

    // Update Person List
    PeopleListView.DataBind();
    ...
}
Run Code Online (Sandbox Code Playgroud)

在C#.Net中解决此类问题的最佳方法是什么?

pal*_*sey 17

我相信你可以通过使用this.Master.FindControl或类似的东西做到这一点,但你可能不应该 - 它要求内容页面过多地了解母版页的结构.

我建议使用另一种方法,例如在内容区域中触发主人可以侦听的事件,并在触发时重新绑定.