新的MVC页面是否可以从现有Web窗体页面继承功能?

时间:2014-06-14 17:08:26

标签: c# asp.net asp.net-mvc asp.net-mvc-4 webforms

我目前正在使用webforms模型建立的网站上工作。但是,有一个页面特别容易使用MVC模型进行开发。我知道可以通过一些配置混合这两种类型。我的问题是:是否可以使用MVC模型创建此页面,但是它是否继承自Webform?

例如,如果我要在普通的webforms页面中创建此页面,我只需设置:

    public partial class NewPage : HomeBasePage

由于HomeBasePage(webform)被网站中的每个其他页面使用,我担心这是否会在MVC中创建这个新页面并且在继承中保持一致时会出现问题。

1 个答案:

答案 0 :(得分:1)

没有

MVC和WebForms是两个完全不同的模型,不能以相同的方式工作。 WebForms使用基于"页面的"系统,而MVC使用"基于控制器"系统。这意味着MVC没有页面。它有行动。

这是一个基本的区别,也是WebForms具有代码隐藏的原因,MVC将动作与其视图分开。

更重要的是,WebPages继承自Page类。 MVC操作继承自Controller。它们完全不同,你无法将它们混合在一起。此外,MVC和WebForms遵循非常不同的页面生命周期,并且具有非常不同的执行流程。

然而,

您没有提供有关HomeBasePage实际执行操作的足够信息。也许有一些方法可以以不同的方式重用某些功能,但不知道那是什么......我们无法告诉你任何事情。