如何将asp.net mvc集成到Web站点项目中

时间:2013-07-19 09:39:30

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

正如我在标题中所提到的,我有一个巨大的WEBSİTEPROJECT,我想将MVC添加到它。

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

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

但我没有WEP APPLICATION PROJECT。

我的问题也有办法吗?

3 个答案:

答案 0 :(得分:10)

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

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

<强> 1。安装ASP.NET MVC 3

<强> 2。修改web.config

在Visual Studio中打开web.config并在

部分中添加以下行

enter image description here

第3。修改global.asax

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

在&lt;%@ Application Language =“C#”%&gt;

之后添加以下行

enter image description here

之后添加以下内容

enter image description here

在application_start

中添加以下内容

enter image description here

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

enter image description here

<强> 4。创建控制器

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

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

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

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

enter image description here

<强> 5。测试网站

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

以上内容摘自 here 。无法直接添加引用,因为链接可能会被破坏。

希望这可以帮到你

答案 1 :(得分:5)

将整个网站转换为Web应用程序(WAP)可能会很痛苦,因此我不建议这样做。您可以尝试@Grievoushead提出的其他建议,即在网站项目中使MVC工作(可以工作),但我会建议另一个。

不要试图“合并”网站和MVC WAP,而是尝试将它们保持分离,但共享同一个文件夹。你可以这样做: - 首先在单独的文件夹中创建MVC项目 - 将所有文件复制到您的网站。您可能需要手动合并像web.config和global.asax这样的coupe文件。 - 然后你想要处理你的MVC代码,你在VS中打开csproj。但是,如果您想处理原始代码,只需将该文件夹作为网站打开。

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

答案 2 :(得分:1)

我担心您必须先将网站转换为网络应用程序。有关如何操作的说明,请参阅this link。 这可能需要一些努力,但我认为Web应用程序格式更容易使用,所以它绝对值得付出努力。