我是.NET应用程序的新手,我有一个我正在处理的Web表单应用程序,我即将开始开发新页面,我正在尝试使用ASP.NET MVC创建新页面,但我不能让页面击中控制器。首先我添加了库引用添加了global.asax上的路由,但不确定还缺少什么,有人可以帮助我吗?
THX。
答案 0 :(得分:6)
在我收集的内容之间进行阅读,您是否正在尝试将 MVC页面添加到现有的ASP.NET Webforms Web应用程序中?
如果是这种情况,那么您可能需要一些MVC特定配置。设置。最简单的方法是创建一个新的MVC Web应用程序,然后合并配置设置。
此外,如果您正在进行混合项目,我建议您就该主题提供Scott Hanselmann's post。
答案 1 :(得分:2)
有关在这些链接上将MVC添加到WebForms应用程序的更多分步说明:
您可能还希望使用文本编辑器将ProjectTypeGuid添加到项目文件中({603c0e0b-db56-11dc-be95-000d561079b0}用于指定Visual Studio使用MVC扩展。)
<ProjectTypeGuids>{603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
上面的链接也没有完全覆盖需要配置的web.config的system.webserver区域。
答案 2 :(得分:0)
Scott Hanselman发布了一个“完全不受支持的”Nuget包,它将MVC 3功能添加到现有的Web Forms项目中。它也适用于我的电脑(哈哈),我已经在几个项目中使用过它。
http://nuget.org/List/Packages/AddMvc3ToWebForms
他在这里写博客:
一个新提示:此软件包将在/App_Start/RegisterMvc3Routes.cs中配置您的MVC路由
答案 3 :(得分:0)
过去几个月我花了很多时间在这上面。以下是我的观察。
好/容易
- 让Webforms
呼叫MVC
控制器
- 站起来一个新的MVC3
项目并将Webforms
个页面放入其中非常容易。
- 我能够将<pages><controls></controls></pages>
部分移到新/pages
web.config
目录中
肮脏/困难
GUID
...每次我尝试失败时。直到我偶然发现一篇坚持在其他人之前的帖子。{E53F8FEA-EAE0-44A6-8774-FFD645390401}
将目标网页设为Webforms
会造成各种障碍。
T4MVC
这就是我为解决这个问题而采取的措施
@if (System.Diagnostics.Debugger.IsAttached)
{
<script src="../../Scripts/Mvc3/jquery-1.7-vsdoc.js" type="text/javascript"></script> @* intellisense! *@
@Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_1_7_js)
@Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_unobtrusive_ajax_js)
}
else
{
@Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_1_7_min_js)
@Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_unobtrusive_ajax_min_js)
}
建议:
T4MVC
。消除静态内容(.js
,.css
,图像,指定模板)的魔术字符串非常出色。