我有一个如下所示的字符串
<meta property="og:title" content="test" />
这已经在它的text属性的文字控件中。当我看到渲染页面时。 它显示如下。
<meta property="og:title" content="test" />
修改
以下是提供最终文本的来源......
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" />
实际结果
<meta property="og:title" content="test" />
答案 0 :(得分:2)
您应该将LiteraControl
's Mode property设置为PassThrough
。
然后不修改控件的内容。
默认值为Transform
:
不支持的标记语言元素将从内容中删除 控制。如果Literal控件是在浏览器上呈现的 支持HTML或XHTML,控件的内容不会被修改。
ltlMetaHolder.Mode = LiteralMode.PassThrough
答案 1 :(得分: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") %>