很抱歉,如果已经提出此问题。
我目前正在开发一个小功能,并且正在尝试将ASP.NET Mvc框架实现到我当前的Web窗体Web应用程序中。我一直在关注我最近在堆栈溢出上找到的Professional ASP.NET 3.5 Mvc Chapter 13 pdf文档,以使Web Forms和Mvc一起工作。我已完成所有三个步骤:
添加了对库System.Web.Mvc,System.Web.Routing和System.Web.Abstractions
在我的网络应用程序中添加了两个目录:控制器和视图
更新了web.config以加载第一步中提到的三个程序集并注册了UrlRoutingModule HttpModule。我还将初始路由设置添加到我的Global.asax文件
RouteTable.Routes.MapRoute( “默认”,“{controller} / {action} / {id}”,新{controller =“支持”,操作=“索引”,id =“”} );
一旦我尝试在ASP.NET Mvc框架之后运行我新创建的页面,我就会在以下代码中获得NullReferenceException:
<%= Html.Encode(ViewData["Message"]) %>
在我的控制器中,我将ViewData [“Message”]设置为“Message!”就像一个考验。我是否遗漏了一些设置我的Web应用程序以使用ASP.NET Mvc的内容?
非常感谢任何帮助。
谢谢,
答案 0 :(得分:0)
从玩早期测试版到今天,我发现创建一个新的MVC应用程序并将我现有的文件“导入”到解决方案中比在现有应用程序中获得所有设置更容易。我认为没有理由在设置管道时变得越来越热,我可以从模板中为我编写。也许我太懒了。
我发现我可以通过MVC获得“遗留的ASP.NET”Web表单。整个项目唯一的问题是将应用程序路由到我的default.aspx开始。比通过多个步骤包含MVC容易得多。
我知道这不是你问题的直接答案,但我认为尝试它也可以解决你的问题。另一个好处是你可以保留旧的“遗留”源代码,以防错误修复。但是,无论如何,你应该处于源代码控制之下。