asp.net MVC 如何在aspx页面的head标签里输出Key为常量的ViewData呢?

adandelion 2011-11-08 04:48:06
asp.net MVC 如何在aspx页面的head标签里输出Key为常量的ViewData呢?



下面是有效的:
<meta name="description" content="<%:ViewData["PageDescription"]%>" />

直接放在head里,有效的:
<%:ViewData[BaseConstant.STR_VIEWDATA_PAGEDESCRIPTION]%>

下面使用了常量来代替"PageDescription"
常量定义:public const string STR_VIEWDATA_PAGEDESCRIPTION = "PageDescription";

把下列语句放在body标签里,viewdata能正常输出:
<meta name="description" content= "<%:ViewData[BaseConstant.STR_VIEWDATA_PAGEKEYWORD]%>" />


同样的语句放在head标签里,viewdata却无法正常输出:<meta name="description" content= "<%:ViewData[BaseConstant.STR_VIEWDATA_PAGEKEYWORD]%>" />
直接输出如下:<meta name="description" content="<%:ViewData[BaseConstant.STR_VIEWDATA_PAGEKEYWORD]%>" />

为什么会这样?如何在aspx页面的head标签里输出Key为常量的ViewData呢?
...全文
140 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
adandelion 2011-11-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sandy945 的回复:]
runat="server" ?

怎么还会有它.
[/Quote]

Remove the runat="server" :

<head>
阿非 2011-11-08
  • 打赏
  • 举报
回复
runat="server" ?

怎么还会有它.
adandelion 2011-11-08
  • 打赏
  • 举报
回复
把head标签里的 runat="server" 删除就可以使用了。
change from

<head runat="server">
<meta name="description" content= "<%:ViewData[BaseConstant.STR_VIEWDATA_PAGEKEYWORD]%>" />

to

<head>
<meta name="description" content= "<%:ViewData[BaseConstant.STR_VIEWDATA_PAGEKEYWORD]%>" />
....


微软在搞什么啊??原因是什么呢?bug?

既然是MVC4,那为什么建立masterpage的时候会runat="server"加到head标签里呢?

62,025

社区成员

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

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

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

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