将MVC添加到ASP.NET网站

Nic*_*ick 12 asp.net asp.net-mvc asp.net-mvc-3

我想将MVC支持添加到现有的网站项目(而不是Web应用程序项目)并提出一些问题.

  1. 为了获得Visual Studio的MVC优点,我似乎需要更新.csproj文件的<ProjectTypeGuids>节点.csproj网站项目中没有文件.
  2. 看来我需要创建ModelsControllers文件夹App_Code.这是真的?我更喜欢在root下使用这些文件夹.
  3. 对于Views我要建立一个aspxaspx.cs文件?cshtml这种设置是否支持剃刀文件?

任何其他回应表示赞赏.谢谢

Chr*_*ris 9

使用asp.net MVC2及更高版本,MVC团队将核心功能分成三个不同的程序集,每个程序集都扩展为常见的System.Web程序集:

  • System.Web.Routing
  • System.Web.Abstractions
  • System.Web.Mvc

通过这种分离,他们继续进行并使组件"在中等信任的服务器环境中工作并且可以进行bin-deployable".

关于这个特性的一个好处是,您不必具有运行MVC的特定项目类型.您只需要程序集,一些目录和一个经过调整的web.config.

为此,您只需将程序集放在项目的本地bin文件夹中,并为这些程序集进行必要的引用.完成后,您可以访问asp.net MVC.

以下是Wrox Professional ASP.NET MVC 1.0一书中的一些详细说明,可以帮助您入门:

在现有Web窗体应用程序中包含MVC

将ASP.NET MVC功能添加到现有Web窗体应用程序包含三个不同的步骤:

1.添加对ASP.NET MVC所需的三个核心库的引用:System.Web.Mvc,System.Web.Routing和System.Web.Abstractions.

2.向应用程序添加两个目录:控制器和视图.

3.更新Web.config以在运行时加载三个程序集以及注册UrlRoutingModule HttpModule.

作为参考,这里有几个博客/网站有一些更详细的场景可能会帮助你:

并行运行ASP.NET Webforms和ASP.NET MVC

混合ASP.NET Webforms和ASP.NET MVC

ASP.NET WebForms和ASP.NET MVC的和谐

祝你好运,希望这可以帮助你解决一些问题.


Dot*_*ude 8

我已成功将一个ASP.NET MVC 3添加到Webforms项目中,以下是一些建议:

  • 添加Controllers为单独的类库项目,并从Web窗体Web项目添加对此项目的引用
  • 我试图获得VS MVC支持(如goto控制器等),但是将GUID添加{E53F8FEA-EAE0-44A6-8774-FFD645390401}.csproj文件中没有帮助.
  • 是的,您可以添加引用以从类库中获取Session.如果要编写单元测试,可以随时将其模拟出来.
  • Views文件夹添加到根目录
  • 添加ModelsApp_Code
  • 如果您使用Razor,则需要添加System.Web.RazorSystem.Web.WebPages引用
  • 如果您使用的是Razor,请Web.config按照此帖更新
  • 请记住,只要不使用回发,就可以在视图中添加服务器控件(我的webforms项目中有很多服务器控件,我必须使用)