假设我有 tvo 页面 page1.ascx 和 page2.ascx。两个页面都有代码隐藏(分别为 page1.ascx.cs 和 page2.ascx.cs)。
因此 page1 和 page2 在浏览器中同时并排呈现。
现在 page1.ascx 有一个 ListView 并且它的代码隐藏有一个填充它的方法(PopulateListbox())。如何从 page2.ascx 代码隐藏中调用 PopulateListbox()?
page1 p1 = new page1();
p1.PopulateListbox();
...不起作用,findController 查找列表框的 ID 返回空值。
任何指导都会有很大帮助,谢谢。
最佳答案
var p1 = this.Page.FindControl("page1Id") as page1;
if (p1 != null)
p1.PopulateListbox();
不过,您可以用不同的方式来做到这一点。在第一个控件上为特定操作创建事件。在父页面中添加一个事件处理程序,该事件处理程序将包含以下调用
p1.PopulateListbox();
Here有关如何创建您自己的事件的链接
关于c# - 从不同的代码隐藏更改 ascx 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10330683/