2012-03-13 80 views
0

我有一個像下面問題而呈現的文字文本

<meta property="og:title" content="test" /> 

這已經是字面控制在它的文本屬性的字符串。當我看到呈現的頁面。 它顯示如下。

&lt;meta property=&quot;og:title&quot; content=&quot;test&quot; /&gt; 

編輯

這是源提供最終的文字...

public static void RenderName(Literal ltlMetaHolder, string contentName, string content) 
{ 
    var metaTagFromat = "<TagName property=\"{0}\" content=\"{1}\" />"; 
    ltlMetaHolder.Text = string.Format(metaTagFromat, contentName, content); 

} 

預期結果

<meta property="og:title" content="test" /> 

實際結果

&lt;meta property=&quot;og:title&quot; content=&quot;test&quot; /&gt; 
+0

我不明白!在文字的Text屬性裏面有那個字符串?從代碼?從標記?你在頁面上看到什麼?你除了什麼? – 2012-03-13 13:10:50

+0

我在查詢中進行了更新。請檢查。 – Pankaj 2012-03-13 13:15:03

回答

2

您應該設置LiteraControl's Mode propertyPassThrough。 然後控件的內容不會被修改。

缺省值是Transform

不支持的標記語言的元素被從 控制移去內容物。如果文字控件在支持HTML或XHTML的瀏覽器上呈現,則控件的內容不會被修改。

ltlMetaHolder.Mode = LiteralMode.PassThrough 
+0

+1。謝謝..... – Pankaj 2012-03-14 05:21:02

1

你可以這樣做

public class MetaHelpers { 
    public String WriteMeta(String property, String content) { 
     return String.Format(@"<meta property=""{0}"" content=""{1}"" />", property, content); 
    } 
} 

和ASPX頁面

<head runat="server"> 
<title></title> 
<%= MetaHelpers.WriteMeta("og:title", "test") %>