示例1:
<head>
<meta http-equiv="description" content="<%= Foo %>"/>
</head>
呈现
<meta http-equiv="description" content="Bar"/>
示例2:
<head runat="server">
<meta http-equiv="description" content="<%= Foo %>"/>
</head>
渲染:
<meta http-equiv="description" content="<%= Foo %>"/>
请注意差异,<
已变为<
,但>
仍然相同。
答案 0 :(得分:4)
您不能在服务器控件中包含脚本标记(&lt;%=%&gt;),这就是为什么它变成纯文本而不是执行。
您可以从后面的代码中添加元标记,如下所示:
HtmlMeta meta = new HtmlMeta();
meta.HttpEquiv = "description";
meta.Content = Foo;
Page.Header.Controls.Add(meta);
答案 1 :(得分:1)
当您添加runat = server时,Head标记将成为服务器控件。我想根据你的结果,服务器控件的内容不会使用&lt;%...%&gt;来解析内联替换。语法。
您可以通过向其添加runat = server并以编程方式访问其属性,使Meta标签成为服务器控件。