【问题标题】:Getting ASP.NET Mvc and Web Forms to work together让 ASP.NET Mvc 和 Web 窗体一起工作
【发布时间】:2009-03-12 17:51:15
【问题描述】:

很抱歉,如果这已经被问到了。

我目前正在开发一个小功能,并正在尝试将 ASP.NET Mvc 框架实现到我当前的 Web 窗体 Web 应用程序中。我一直在关注我最近在 stackoverflow 上找到的 Professional ASP.NET 3.5 Mvc Chapter 13 pdf 文档,以使 Web Forms 和 Mvc 一起工作。我已完成所有三个步骤:

  1. 添加了对 System.Web.Mvc、System.Web.Routing 和 System.Web.Abstractions 库的引用

  2. 将两个目录添加到我的 Web 应用程序中:控制器和视图

  3. 更新了 web.config 以加载第一步中提到的三个程序集并注册了 UrlRoutingModule HttpModule。我还将初始路由设置添加到我的 Global.asax 文件中

    RouteTable.Routes.MapRoute( “默认”,“{controller}/{action}/{id}”,新{控制器 =“支持”,操作 =“索引”,id =“”} );

一旦我尝试按照 ASP.NET Mvc 框架运行我新创建的页面,我会在以下代码中收到 NullReferenceException:

<%= Html.Encode(ViewData["Message"]) %>

在我的控制器中,我将 ViewData["Message"] 设置为“Message!”只是作为一个测试。我是否错过了一些设置我的 Web 应用程序以使用 ASP.NET Mvc 的内容?

任何帮助将不胜感激。

谢谢,

【问题讨论】:

  • 您是否对控制器操作进行了单元测试,以验证视图数据设置是否正确?

标签: asp.net-mvc


【解决方案1】:

从玩早期测试版到今天,我发现创建新的 MVC 应用程序并将现有文件“导入”到解决方案中比在现有应用程序中正确设置所有设置更容易。我认为没有理由为设置可以从模板中为我编写的管道而变得炙手可热。可能是我太懒了。

我发现我可以让“旧版 ASP.NET”Web 表单与 MVC 一起正常工作。对整个项目唯一的要求是让应用程序路由到我的 default.aspx 开始。比运行多个步骤来包含 MVC 要容易得多。

我知道这不是您问题的直接答案,但我认为尝试它也可以解决您的问题。另一个好处是您可以保留旧的“遗留”源,以防出现错误修复。但是,无论如何,您应该处于源代码控制之下。

【讨论】:

    猜你喜欢
    • 2011-04-17
    • 2023-03-06
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多