asp.net - 将 MVC 添加到 ASP.NET 网站

标签 asp.net asp.net-mvc asp.net-mvc-3

我想将 MVC 支持添加到现有的网站项目(不是 Web 应用程序项目)并有几个问题。

  • 为了获得 Visual Studio 的 MVC 优势,我似乎需要更新 .csproj文件的 <ProjectTypeGuids>节点。没有csproj网站项目中的文件。
  • 看来我需要创建 ModelsControllers App_Code 中的文件夹.这是真的吗?我更喜欢将这些文件夹放在根目录下。
  • 对于 Views我应该创建一个 aspxaspx.cs文件?是 cshtml这种设置支持 Razor 文件吗?

  • 任何其他回应表示赞赏。谢谢

    最佳答案

    我已成功将 ASP.NET MVC 3 添加到 Webforms 项目,这里有一些建议:

  • 添加 Controllers作为一个单独的类库项目,并从 Web 表单 Web 项目
  • 添加对此项目的引用
  • 我试图获得 VS MVC 支持(如 goto Controller 等),但添加了 GUID {E53F8FEA-EAE0-44A6-8774-FFD645390401}.csproj文件没有帮助。
  • 是的,您可以添加引用以从您的类库中获取 Session。如果你想编写单元测试,你总是可以模拟它。
  • 添加 Views文件夹到根
  • 添加 ModelsApp_Code
  • 如果您使用的是 Razor,那么您需要添加 System.Web.RazorSystem.Web.WebPages引用
  • 如果您使用 Razor,请更新 Web.config按此 post
  • 请记住,您可以将服务器控件添加到您的 View 中,只要它们不使用回发(我必须使用来自我的 webforms 项目的许多服务器控件)
  • 关于asp.net - 将 MVC 添加到 ASP.NET 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7194558/

    相关文章:

    asp.net treeview 使用 javascript 选择节点值

    asp.net - Visual Studio 2013 Update 2 无法打开 cshtml

    asp.net - 为什么在尝试使用 NuGet 包构建解决方案时,Visual Studio 会拒绝访问,代码 5 错误?

    c# - 我将如何在 ASP.Net 服务器上运行连续任务?

    asp.net-mvc - 使用 jqGrid 删除 ASP.NET MVC 中的多条记录

    c# - 在 C# 问题中填充 selectList

    asp.net - Chrome 中 ASP.NET 站点的呈现不正确 - 单击时已修复

    c# - 外部 ASP.NET MVC 3 区域未在运行时编译(适用于 Preview 1 但不适用于 RC)

    database - 使用 MVC 3 和 Razor 在 TreeView 中填充部分树(一次一层)

    c# - 使用 MVC Controller 重载