2010-11-09 6 views
5

W MVC2 mamy niestandardową klasę bazowąmożna utworzyć niestandardowego widoku brzytwa klasy bazowej, który ma model i presentationmodel

public class OurViewPage<TModel,TPresentationModel> : ViewPage<TModel> 

więc mamy w widoku właściwość modelu i właściwość PresentationModel ...

plik Nasz Aspx rozpoczyna

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

z widokiem silnika MVC3 Razor, by coś równoważne możliwe?

  • z której klasy bazowej powinniśmy odziedziczyć.
  • Jak określić w widoku, jakich klas używa widok (odpowiednik dyrektywy Page)?

Odpowiedz

3

Twoja klasa powinna pochodzić z System.Web.Mvc.WebViewPage<TModel>

W pliku widoku należy dodać następujący wiersz do góry:

@inherits OurWebViewPage<IndexModel, IndexPresentationModel> 

Należy pamiętać, że nie należy używać składni @model jeśli masz klasa bazowa z dwoma parametrami ogólnymi.

+0

Jakiej składni powinni użyć? – Zote

+1

@Zobacz powinieneś użyć składni @inherits pokazanej w mojej odpowiedzi – marcind

+0

Mam problem z dodaniem niestandardowych przestrzeni nazw do wszystkich moich widoków. Widziałem przykłady przy użyciu sekcji <system.web.webPages.razor>, ale nie działają one dla mnie. Chcę, aby wszystkie moje modele i niestandardowe pomocniki HTML były znane we wszystkich widokach, ale wciąż dostaję błędy, których nie znają i powinienem dodać odniesienie. Ale nie chcę dodawać instrukcji @using do wszystkich moich widoków ... – rekna

Powiązane problemy