Asp.net mvc 2 您可以创建一个具有模型和presentationmodel的定制razor视图基类吗

Asp.net mvc 2 您可以创建一个具有模型和presentationmodel的定制razor视图基类吗,asp.net-mvc-2,razor,asp.net-mvc-3,Asp.net Mvc 2,Razor,Asp.net Mvc 3,在MVC2中,我们有一个自定义基类 public class OurViewPage<TModel,TPresentationModel> : ViewPage<TModel> public类视图页:视图页 所以我们在视图中有一个Model属性和一个PresentationModel属性 我们的Aspx文件以 <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Our.Master" I

在MVC2中,我们有一个自定义基类

public class OurViewPage<TModel,TPresentationModel> : ViewPage<TModel>
public类视图页:视图页
所以我们在视图中有一个Model属性和一个PresentationModel属性

我们的Aspx文件以

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Our.Master"
 Inherits="OurViewPage<IndexModel,IndexPresentationModel>" %>

使用MVC3 Razor视图引擎,是否可以实现类似的功能

  • 我们应该从哪个基类继承
  • 如何在视图中指定视图使用的类(相当于Page指令)

您的类应该派生自
System.Web.Mvc.WebViewPage

在视图文件中,您将在顶部添加以下行:

@inherits OurWebViewPage<IndexModel, IndexPresentationModel>
@继承我们的WebViewPage

请注意,如果您有一个带有两个泛型参数的基类,则不应使用
@model
语法。

我很难将自定义名称空间添加到所有视图中。我见过使用system.web.webPages.razor部分的示例,但它们似乎不适合我。我希望我的所有模型和自定义HTML帮助程序在所有视图中都是已知的,但是我不断地得到错误,它们是未知的,我应该添加一个引用。但是我不想将@using语句添加到我的所有视图中…好的,发现了问题,我将名称空间添加到了我的主web.config中,看起来您应该将其添加到views目录中的web.config的名称空间中!!