2012-09-19 39 views
0

我正在處理一個用戶控件,在該用戶控件中,我想將元數據添加到我正在針對.NET 3.5構建的頭部。我希望某些元標記內容是動態的,方法調用的結果。下面是我在我的用戶控件現在做的一個例子:將元服務器控件內容設置爲方法返回值

<meta id = "metaOgUrl" property="og:url" content="<%=this.GetOgImage()%>" runat = "server"/> 

並在後面的代碼GetOgImage():

public string GetOgImage() 
{ 
    if (entry != null) 
    { 
     return entry.PhotoUrl; 
    } 
    return String.Empty; 
} 

不錯,簡單吧?問題是,我看到的方法調用本身在瀏覽器中呈現的內容值:

<meta id="tmpl_appmain_block1_ctl00_metaOgUrl" content="<%=this.GetOgImage()%>" property="og:url"> 

有人能告訴我什麼,我做錯了什麼?根據我所讀到的,這應該是有效的。任何幫助將不勝感激,非常感謝!

回答

1

是頭標記代碼獲取dorked,但你可以刪除RUNAT =服務器屬性,並做到這一點作爲一個黑客:

<meta id="metaOgUrl" property="og:url" content="<%= "" + GetOgImage() %>" /> 

或者,離開RUNAT =服務器並刪除內容屬性和將其設置在代碼隱藏處

<meta id="metaOgUrl" runat="server" property="og:url" /> 

protected void Page_Load(object sender, EventArgs e) { 
    metaOgUrl.Attributes["content"] = GetOgImage(); 
} 
+0

感謝您的迴應!我選擇了第二種選擇。 – TheMethod

相關問題