首页 新闻 会员 周边

MVC3 视图问题

0
悬赏园豆:50 [已解决问题] 解决于 2011-07-08 01:53

MVC2 视图头部 的下面这段代码,在mvc3的视图里怎么实现,特别是那两个:Inherits="ViewPage<IPagedList<Product>> 这个东西我很需要。

<%--<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MVC2Demo.Models.CMSNews>>" %>
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="ViewPage<IPagedList<CMSNews>>" %>

悠然自得的主页 悠然自得 | 初学一级 | 园豆:141
提问于:2011-07-07 01:39
< >
分享
最佳答案
0

MVC3 有两种视图引擎, WebForm 和 Razor。MVC 3 中 WebForm 用法不变。

Razor 引擎可使用如下方式代替: Inherits="System.Web.Mvc.ViewPage<IEnumerable<MVC2Demo.Models.CMSNews>>

@model IEnumerable<MVC2Demo.Models.CMSNews>

指定 Title 和 设置布局页如下:

 

@{
ViewBag.Title
= "ViewPage1";
Layout
= "~/Views/Shared/_LayoutPage1.cshtml";
}

 

Razor 中引用命名空间可参见我的随笔:

ASP.NET MVC:Razor 引入命名空间

收获园豆:50
鹤冲天 | 老鸟四级 |园豆:2379 | 2011-07-07 08:16
很感谢您的帮助,我这里是Razor引擎的,但是页面有两个Inherits,我尝试添加两个@model时,会提示只能有一个,另外一不懂怎么加进去,还请不吝指教。
悠然自得 | 园豆:141 (初学一级) | 2011-07-07 10:39
一个页面不允许添加两个 Inherits,添加上在运行时也会报错。
同样 @model 也只能添加一个
鹤冲天 | 园豆:2379 (老鸟四级) | 2011-07-07 11:31
但是在上面的那段mvc2视图头部代码中不是有两个Inherits吗?在那个项目能够正常运行,我想把它移植到mvc3上来,就不懂的搞了。
悠然自得 | 园豆:141 (初学一级) | 2011-07-07 14:55
你仔细看下第一个是不是被注释了。
添加两个会报抛出”只能有一个“page”指令“的异常
鹤冲天 | 园豆:2379 (老鸟四级) | 2011-07-07 15:01
的确是,从这个问题我实在是太浮躁了,多谢前辈的指导。实在是太热心了。
悠然自得 | 园豆:141 (初学一级) | 2011-07-08 01:52
呵呵,不客气
鹤冲天 | 园豆:2379 (老鸟四级) | 2011-07-09 09:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册