meta 标签内 value 值不让使用 后台方法调用?

七色鸟 2012-07-06 11:30:48
页面代码:


public static string KeyWords = "关键字搜索1";
public static string GetKeywords()
{
return "关键字搜索2";
}




<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<meta name="Keywords" content="<%=Common.KeyWords %>" />
<meta name="Keywords" content="<%=Common.GetKeywords() %>"/>
<%=Common.GetKeywords() %>
</head>
<body>
<form id="form1" runat="server">
<div>

<input type=text value="<%=Common.GetKeywords() %>" />
</div>
</form>
</body>
</html>


生成页面源代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
无标题页
</title>
<meta name="Keywords" content="<%=Common.KeyWords %>" />
<meta name="Keywords" content="<%=Common.GetKeywords() %>" />
关键字搜索2</head>
<body>
<form name="form1" method="post" action="Default.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTU2MDczNTY3OWRkZRXjlQE4H+Z+b5Sk3LxPiqE0viA=" />
</div>

<div>


<input type=text value="关键字搜索2" />
</div>
</form>
</body>
</html>



这是什么情况?希望高手能解答一下!为什么别的地方可以,单单meta标签内,调用就出问题呢!
...全文
85 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
七色鸟 2012-07-06
  • 打赏
  • 举报
回复
(【孟子E章】)好牛的说,你太厉害了。用了刚刚你说的那个东西,问题已经解决了。

个人理解的不知道对不对,如下:
ASP.NET页面生成周期中,会将前台的服务器控件生成控件树,到后台进行转换成类后进行输出,content 中的服务器端方法,在转换的过程中会将 content 中的值,解释为 字符串,然后进行输出。所以输出后,就成字符了。不知道讲的对不对,希望能指正一下...
孟子E章 2012-07-06
  • 打赏
  • 举报
回复
你要是带<head runat="server">
如果你要加多个,可以

HtmlGenericControl m = new HtmlGenericControl("meta");
m.Attributes.Add("name", "Keywords");
m.Attributes.Add("content", "xxx");

Page.Header.Controls.Add(m);
m = new HtmlGenericControl("meta");
m.Attributes.Add("name", "Keywords");
m.Attributes.Add("content", "yyy");
Page.Header.Controls.Add(m);

或者
Literal m = new Literal();
m.Text = "<meta name='xx' content='xxx'/><meta name='xx' content='xxx'/><meta name='xx' content='xxx'/>";
Page.Header.Controls.Add(m);
孟子E章 2012-07-06
  • 打赏
  • 举报
回复
你要是带<head runat="server">,需要
Page.Header.Keywords = Common.KeyWords 赋值

孟子E章 2012-07-06
  • 打赏
  • 举报
回复
去掉 runat="server"
<head runat="server">
改成
<head>
才可以那么写

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧