在设计中访问母版页公共属性
本文关键字:属性 母版页 访问 | 更新日期: 2023-09-27 18:32:50
我正在为web.config文件中的图像设置路径。在每个页面上,我都设置了一个公共属性,如下所示:
public string ImgPath { get { return Config.CDNImages; } }
然后在设计页面中我使用
<img src='<%#ImgPath%>/products/<%#Eval("prodID")%>.jpg'/></a>
它可以工作,但现在我想在母版页上添加此公共属性,以便我可以在每个页面上访问 ImgPath。
当属性位于母版页上时,我似乎无法让 <%#ImgPath%> 工作。我已经尝试过<%#Master.Page.ImgPath%> ..和许多其他变体,但我似乎无法让它工作。
如何使用内联请求/绑定在设计页上的母版页中获取公共属性?
我认为这行不通:
<%#Master.Page.ImgPath%>
or
<%#Page.Master.ImgPath%>
由于Page.Master
返回基类,而不是母版页的特定类,这意味着如果不强制转换 Page.Master
对象,ImgPath 属性将不可用。每次都这样做会变得非常乏味。
您是否考虑过执行类似操作,而不是将属性添加到母版页?
public abstract class YourPage : Page
{
public string ImgPath
{
get { return Config.CDNImages; }
}
}
现在更改您的页面,以便它们继承自YourPage
而不是Page
,并且您应该可以在每个页面上访问您的方法。
您可以使用 MasterType 指令。
http://dotnet.dzone.com/news/back-basics-%E2%80%93-using-mastertype