ASP.NET MVC3视图类继承

时间:2012-02-24 18:53:32

标签: asp.net-mvc-3 inheritance view

在我的项目中,我正在使用ASP.NET MVC3,而我的背景来自传统的asp.net,我的问题与“与asp.net webforms进行比较”相关,并且代码隐藏可能会继承。

我想要的(在mvc3中)是在应用程序的所有视图上都有一些额外的属性。

是否可以将我的额外属性添加到我的视图中,或者我需要使用“帮助方式”作为解决方法?

请注意,我的问题不是模型级别,而是视图(UI)。

抱歉忘记提到我的视频发动机是Razor

2 个答案:

答案 0 :(得分:1)

如果您的额外属性是特定于UI的,那么您可以定义母版页并在所有视图页面上使用它。如果它们是值属性,那么您可以创建一个基本模型并在模型类中继承它,然后使用这些模型可以使用所有视图。如果这些都不适用于您的目的,那么您可以尝试扩展System.Web.Mvc.ViewPage,但我不确定它是否是最佳实践

答案 1 :(得分:1)

是的,默认情况下,MVC Views继承System.Mvc.ViewPage。如果您使用强类型视图,则System.Mvc.ViewPage<model>@model声明传递给通用ViewPage<>类。

虽然可能从派生的ViewPage继承,但通常不会这样做。根据您的目的,可能会有更好的解决方案。

也许如果你澄清了你在做什么,它可能会帮助我们更多地帮助你。