2012-04-30 9 views
0

私のweb.configファイルの画像のPATHを設定しています。各ページでは、私は次のようにパブリックプロパティを設定しています:DesignのAccess MasterPage公開プロパティ

public string ImgPath 
    { 
     get { return Config.CDNImages; } 
    } 

そして、デザインページに、私はそれが動作

<img src='<%#ImgPath%>/products/<%#Eval("prodID")%>.jpg'/></a> 

を使用しますが、今私が上でこのパブリックプロパティを追加します私はすべてのページでImgPathにアクセスできます。

マスターページのプロパティでは、#ImgPath%>をImgPath%>とすることはできません。 私は<%#Master.Page.ImgPath%> ..と多くのバリエーションを試しましたが、動作しないようです。

インラインリクエスト/バインディングを使用してデザインページのパブリックプロパティをMasterPage内で取得するにはどうすればよいですか?

答えて

1

私はこれがうまくいくとは思わない:

<%#Master.Page.ImgPath%> 
or 
<%#Page.Master.ImgPath%> 

Page.Masterは、基本クラスを返し、ないImgPathプロパティを意味し、あなたのマスターページの特定のクラスは、Page.Masterをキャストせずに利用できなくなりますのでオブジェクト。それは毎回非常に退屈になるでしょう。

マスターページにプロパティを追加する代わりに、次のようなことを検討しましたか?

public abstract class YourPage : Page 
{ 
    public string ImgPath 
    { 
     get { return Config.CDNImages; } 
    } 
} 

今、彼らはYourPage代わりのPageから継承して自分のページを変更し、あなたはすべてのページにあなたのメソッドへのアクセス権を持っている必要があります。

関連する問題