2012-03-13 109 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") %>