我有一份遗产.Net Webforms Web Site Project在VisualStudio 2008 SP1中,我想逐步将一些MVC功能引入其中.

我能找到的关于如何集成ASP的大部分信息.Net MVC和WebForms似乎假定使用Web Application Project.然而,似乎不可能找到关于如何 retrofit 现有ASP的信息.net网站项目与ASP.Net MVC特性.

我已经 comments 了他即将出版的书中的Scott Hanselman's postChapter 13本,这两本书都假设是Web Application Project种类型.

这可能吗?有人知道怎么做吗?

推荐答案

对于初学者来说,将MVC添加到webforms项目非常简单,要在VS 2008 for MVC中获得这些特性需要更多的工作(仍然很容易).首先,要确保引用程序集并正在使用.净3.5.其次,可以在当前的web窗体项目中创建控制器文件夹和视图文件夹.您还可以创建一个带有索引操作的简单控制器.然后在全局路径中设置/配置路由.ascx文件.你应该从那里开始.查here作为参考.

但是,您只能创建代码落后的aspx页面(您可以删除这些页面并在标记中输入正确的继承类).要真正"转换"您的项目类型,以便充分利用MVC和visual studio(添加新视图、goto控制器等)的优点,需要进行一些try .我最好的建议是在VS 2008中创建一个新的MVC项目和一个新的Web应用程序项目,并比较两者之间的差异.csproj文件为纯文本.有一个长字符串值告诉VS项目模板.

相信我,这确实管用.我以前在我自己的遗留项目上做过.除了try /错误/消除之外,我不记得我是如何找到项目类型"key"的.ASP.Net MVC does play nice in the same project as webforms.

UPDATE:我认为您可以更改为MVC项目类型,通过在.csproj文件.将这些文件与现有文件进行比较,并更改不同的文件,确保复制/备份文件.

<ProjectGuid>{B99EC98A-1F09-4245-B00D-5AF985190AA9}</ProjectGuid>
<ProjectTypeGuids>{603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

Update 2:你不会影响你的项目,也不会对它有很大的影响.如果你对此感到不自在,就做个备份,四处玩玩.如果您遇到更改,您将始终拥有备份.一开始我对此表示怀疑,但很高兴我走上了MVC的道路.

Asp.net相关问答推荐

有人可以解释一下这个Eager 加载示例吗?

禁用托管优化并重新启动调试实际上在 Visual Studio 中更改了哪些设置?

C# - 将 xyz 平铺转换为纬度/经度,反之亦然,给出不同的结果

如何在 ASP.NET RadioButtonList 中的项目之间添加空格

.net 中的 [] 括号是什么?

如何从 ASP.NET 中的代码隐藏文件访问 IFRAME?

逐步 ASP.NET 自动构建/部署

如何在 ASP.NET 中使用时区?

用户NT AUTHORITY\NETWORK SERVICE登录失败

等待本地主机,永远!

如何在 ASP.NET Web API 中使用非线程安全的 async/await API 和模式?

如何将 Web 应用程序项目转换为类库项目

IIS 7.5 上没有 asp.net 功能

尽管安装了 AspNetCoreModule,但在 IIS 中运行 ASP.NET Core 应用程序时出现 0x8007000d 错误 500.19

带有 2 个提交按钮/操作的 ASP.Net MVC 4 表单

显示 ModalPopupExtender 时如何指定要运行的 javascript

ASP.NET 元:资源键

为在 ASP.NET Web API 中使用 User.Identity.Name 的方法编写单元测试

Application_End global.asax

在 ASP.NET 中使用 SecureString 有什么好处吗?