asp.net MVC 如何在aspx页面的head标签里输出Key为常量的ViewData呢?
2011-11-08 17:35
477 查看
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呢?
把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标签里呢?
下面是有效的:
<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呢?
把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标签里呢?
相关文章推荐
- asp.net mvc 如何将controller 里一个action 返回值为list<>的值输出到view
- Asp.net MVC中ViewData与ViewBag的使用方法
- ASP.NET MVC中如何实现页面跳转
- ASP.NET MVC 入门5、View与ViewData
- ASP.NET MVC中的ViewData和ViewBag的区别
- ASP.NET MVC框架(第三部分): 把ViewData从控制器传到视图
- Asp.net MVC中的ViewData与ViewBag
- ASP.net MVC+ViewData VS ViewBag
- [备忘]ASP.NET MVC中RouteData.GetRequiredString("key")方法和RouteData.DataTokens["key"]方法使用上的区别
- ASP.NET MVC的View是如何被呈现出来的?[设计篇]
- ASP.NET MVC 入门 5 View与ViewData 最后讲解
- asp.net mvc 如何在执行完某任务后返回原来页面
- Asp.net MVC中的ViewData与ViewBag
- [转]ASP.NET MVC 入门5、View与ViewData
- Asp.net MVC中的ViewData与ViewBag
- Asp.net MVC中的ViewData与ViewBag
- ASP.NET MVC View中的标签(tag)
- Asp.net MVC中传递ViewData数据不能正确传递的问题
- HTML控件ID和NAME属性的区别,以及如何在asp.net页面的.CS文件中获得.ASPX页面中HTML控件的值
- Asp.net MVC中的ViewData与ViewBag