我正在为web.config文件中的图像设置PATH。在每个页面上,我正在设置一个公共属性,如:
public string ImgPath { get { return Config.CDNImages; } }
然后在设计页面中我使用
<img src='<%#ImgPath%>/products/<%#Eval("prodID")%>.jpg'/></a>
它可以工作,但现在我想在MasterPage上添加这个公共属性,这样我就可以在每个页面上访问ImgPath。
我似乎无法获得&lt;%#ImgPath%&gt;在MasterPage上的属性时工作。 我试过&lt;%#Master.Page.ImgPath%&gt; ..和许多其他变化,但我似乎无法让它工作。
如何使用内联请求/绑定在设计页面上的MasterPage中获取公共属性?
答案 0 :(得分:1)
我认为这不会起作用:
<%#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
,您应该可以在每个页面上访问您的方法。
答案 1 :(得分:0)
您可以使用MasterType指令。
http://dotnet.dzone.com/news/back-basics-%E2%80%93-using-mastertype