2011-06-18 41 views
0

我有一個靜態類有兩個屬性。如何分配類的靜態變量來控制aspx頁面?

public class SiteDetails 
{ 
    public static string MetaIndexKeyword { get; set; } 
    public static string SiteName { get; set; } 

} 

還有一個默認頁面,我需要在頁面加載時分配這些靜態值。

<meta name="keywords" content='<%= DealCollector.Model.SiteDetails.MetaIndexKeyword %>' /> 
<asp:Label id="test" runat="server" Text='<%= DealCollector.Model.SiteDetails.HtmlMetaKeyword %>'></asp:Label> 

而靜態類和默認頁面名稱空間是不同的。

當我打電話只是這樣

<%= DealCollector.Model.SiteDetails.HtmlMetaKeyword %> 

然後,它工作正常,但在控制和meta值它不顯示值。

請幫我找到這個解決方案。

回答

2

<%= expressions不能用作屬性,您必須改用<%# expressions

由於<%# expressionsDataBind()時計算,如果你使用了,那麼你就需要調用DataBind();方法在PreRenderComplete如..

protected void Page_PreRenderComplete(object sender, EventArgs e) 
{ 
    DataBind(); 
} 

最後它會像,如果你的屬性設置爲您的標籤控制

Text='<%# DealCollector.Model.SiteDetails.HtmlMetaKeyword %>'