10

正如我在标题中提到的,我有一个巨大的 WEB SITE PROJECT,我想将 MVC 加入其中。

我已经关注了一些关于它的教程,但它们都是关于将 MVC 集成到 Web 应用程序项目中的。

http://www.hanselman.com/blog/IntegratingASPNETMVC3IntoExistingUpgradedASPNET4WebFormsApplications.aspx

但我没有 WEP 应用程序项目。

我的问题也有什么办法吗?

4

3 回答 3

13

有许多关于如何让 MVC 与 ASP.NET Web 应用程序一起工作的博客文章。但是,仍然存在我们使用普通 ASP.NET 网站项目而不是 Web 应用程序项目的情况。

以下是使用 asp.net 网站项目启用 MVC 3 的步骤

1. 安装 ASP.NET MVC 3

2.修改web.config

在 Visual Studio 中打开 web.config 并在该部分中添加以下行

在此处输入图像描述

3.修改global.asax

接下来,您需要在 global.asax 中添加 MVC 触发器的代码(如果不存在,则创建一个)

在 <%@ Application Language="C#" %> 之后添加以下行

在此处输入图像描述

在后面添加以下内容

在此处输入图像描述

在 application_start 中添加以下内容

在此处输入图像描述

此时,您的 global.asax 应该看起来像

在此处输入图像描述

4. 创建控制器

因为这是一个网站项目,编译是在运行时进行的,所以您必须在 App_Code 文件夹中创建控制器,而不是在主站点中的普通 Controller 文件夹

请注意,您的控制器类需要以 Controller 关键字结尾。在示例中,控制器 = “Home”,控制器的类名需要是 HomeController

要添加您的第一个控制器,请右键单击 App_Code 文件夹并创建一个文件名为 HomeController.cs 的新类

将以下代码粘贴到 HomeController.cs 中(替换所有内容)

在此处输入图像描述

5. 测试网站

现在您已经生成了路由并创建了控制器,浏览到 localhost/home。你应该会看到“Hello World”</p>

以上内容取自这里. 无法直接添加引用,因为链接可能会损坏。

希望这可以帮助你

于 2013-07-23T03:21:34.563 回答
5

将整个网站转换为 Web 应用程序 (WAP) 可能会很痛苦,所以我不建议这样做。您可以尝试@Grievoushead 的另一个建议,即让 MVC 在网站项目中工作(可以工作),但我会建议一个替代方案。

与其尝试“合并”网站和 MVC WAP,不如尝试将它们大部分分开,但共享同一个文件夹。你可以这样做:

  • 首先在单独的文件夹中创建一个 MVC 项目
  • 将其中的所有文件复制到您的网站中。您可能需要手动合并 coupe 文件,例如 web.config 和 global.asax。
  • 然后你想处理你的 MVC 代码,你在 VS 中打开 csproj。但是,如果您想处理您的原始代码,只需将文件夹作为网站打开即可。

有点不寻常,但根据具体情况,这可能是一个好方法。

于 2013-07-22T14:34:40.730 回答
1

恐怕您必须先将网站转换为 Web 应用程序。有关如何执行此操作的说明,请参见此链接。这可能需要一些努力,但我认为 Web 应用程序格式更容易使用,因此绝对值得付出努力。

于 2013-07-22T06:08:06.800 回答