在我的项目中,我正在使用ASP.NET MVC3,而我的背景来自传统的asp.net,我的问题与“与asp.net webforms进行比较”相关,并且代码隐藏可能会继承。
我想要的(在mvc3中)是在应用程序的所有视图上都有一些额外的属性。
是否可以将我的额外属性添加到我的视图中,或者我需要使用“帮助方式”作为解决方法?
请注意,我的问题不是模型级别,而是视图(UI)。
抱歉忘记提到我的视频发动机是Razor
答案 0 :(得分:1)
如果您的额外属性是特定于UI的,那么您可以定义母版页并在所有视图页面上使用它。如果它们是值属性,那么您可以创建一个基本模型并在模型类中继承它,然后使用这些模型可以使用所有视图。如果这些都不适用于您的目的,那么您可以尝试扩展System.Web.Mvc.ViewPage
,但我不确定它是否是最佳实践。
答案 1 :(得分:1)
是的,默认情况下,MVC Views继承System.Mvc.ViewPage
。如果您使用强类型视图,则System.Mvc.ViewPage<model>
将@model
声明传递给通用ViewPage<>
类。
虽然可能从派生的ViewPage继承,但通常不会这样做。根据您的目的,可能会有更好的解决方案。
也许如果你澄清了你在做什么,它可能会帮助我们更多地帮助你。