【问题标题】:How to integrate asp.net mvc to Web Site Project如何将 asp.net mvc 集成到网站项目中
【发布时间】:2013-07-18 13:09:44
【问题描述】:

正如我在标题中提到的,我有一个巨大的 WEB SİTE PROJECT,我想在其中添加 MVC。

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

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

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

有什么办法可以解决我的问题吗?

【问题讨论】:

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


【解决方案1】:

有许多关于如何让 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_start 中添加以下内容

此时,您的 global.asax 应该是这样的

4.创建控制器

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

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

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

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

5.测试网站

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

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

希望对你有帮助

【讨论】:

  • 如何将参数传递给这样的实现?我已经成功实现了它,但是如果我想将参数传递给我的控制器(它接受一个字符串),我会收到一个 HTTP 404 错误
  • Post 工作,我说的是 GET(所以如果我在 URL 中输入参数)
  • 您不必手动将该文本添加到您的 web.config。您只需右键单击您的网站并添加 >> 参考并浏览 dll。
  • 与上面的 C# 代码类似的 VB.NET 代码是什么?
【解决方案2】:

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

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

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

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

【讨论】:

  • 项目之间共享会话、缓存等?
【解决方案3】:

恐怕您必须先将网站转换为网络应用程序。请参阅this link 了解如何操作。 这可能需要一些努力,但我认为 Web 应用程序格式更容易使用,因此绝对值得付出努力。

【讨论】:

  • 我不必这样做
猜你喜欢
  • 2021-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-05
  • 2010-10-08
  • 1970-01-01
  • 1970-01-01
  • 2020-10-26
相关资源
最近更新 更多