C# 如何使用asp.net中的MasterPage2访问另一个ContentPage中的MasterPage1方法?

C# 如何使用asp.net中的MasterPage2访问另一个ContentPage中的MasterPage1方法?,c#,asp.net,master-pages,C#,Asp.net,Master Pages,我有Page1.aspx作为它的MasterPage1.master和Page2.aspx作为它的MasterPage2.master。我正在iframe中显示Page2.aspx页面(位于Page1.aspx)Page2.aspx在列表视图中显示一些项目。将项目添加到购物车(MasterPage1.master中的MyCartUserControl)后,我想调用MasterPage1.master.中Page2.aspx 第2页。aspx: <%@ MasterType VirtualP

我有
Page1.aspx
作为它的
MasterPage1.master
Page2.aspx
作为它的
MasterPage2.master
。我正在
iframe
中显示
Page2.aspx
页面(位于
Page1.aspx
Page2.aspx
列表视图中显示一些项目。将项目添加到购物车(
MasterPage1.master
中的
MyCartUserControl
)后,我想调用
MasterPage1.master.
Page2.aspx

第2页。aspx:

<%@ MasterType VirtualPath="~/Sales/MasterPage1.master" %>
我知道使用
“this”
时上述代码将无法工作。什么可以替换为
“this”
关键字

谢谢你的帮助

请尝试以下代码:

protected void UpdateShoppingCart()
{
   Sales_MasterPage1 master = new Sales_MasterPage1();
   master.BindCart();
}

问题是访问修饰符

您可能需要将其设置为
公共
方法,因为
受保护
不允许您在主类之外访问它

public static void UpdateShoppingCart()
{
   Sales_MasterPage1 master = new Sales_MasterPage1();
   master.BindCart();
}
要从任何地方调用它,请执行以下操作:

Sales_MasterPage1.UpdateShoppingCart()

创建主机的新实例。看看我的答案。希望它能帮助你。抱歉@SpiderCode这行不通。as BindCart()方法调用ShoppingCartControl.ascx中的另一个方法,其中ShoppingCart用户控件中的Repeater将为null。DataTable有行,但我们绑定的中继器显示为NULL。对于该用户控件,您应该创建只能返回数据表的泛型方法。当访问ShoppingCart.ascx.cs中的方法时,ShoppingCart上的所有控件都显示为NULL:(
Sales_MasterPage1.UpdateShoppingCart()