我需要访问在我的母版页的代码隐藏中创建的对象。我有一个母版页和十几个子页面,子页面需要访问此对象。主页代码隐藏如下:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["Manager"] == null) Response.Redirect("/Login");
Manager Mng = (Manager)Session["Manager"];
}
在我的子页面上,我希望能够这样做:
int _ID = Mng.ID
但在这种背景下不存在“Mng”。请指教。感谢。
答案 0 :(得分:1)
你必须在主人身上添加公共财产,如:
public Manager Mng { get; set; }
使用manager值设置此属性。在任何页面或用户控件中,您都可以执行以下操作:
((SiteMaster)this.Page.Master).Mng
获取参考。请注意,您必须投射网站站长,或创建如下界面:
public interface IMaster
{
Manager Mng { get; }
}
让您的母版页实现此界面,并将母版投射到类似IMaster的类型:
((IMaster)this.Page.Master).Mng
答案 1 :(得分:0)
Zerkey,
使用@MasterType指令时 您可以在主页面上引用成员,如下所示 示例(VB.Net):
CompanyName.Text = Master.CompanyName
页面的Master属性已经输入MasterPage_master。
看看http://msdn.microsoft.com/en-us/library/c8y19k6h(v=vs.100).aspx 这可能对你有所帮助。