在ASP.Net MVC到现有的网站项目?
我在Visual Studio 2008 SP1中有一个传统的(哈哈)ASP.Net Webforms Web站点项目 ,我想逐步引入一些MVC功能。
我可以找到关于如何将ASP.Net MVC与WebForms集成的大多数信息都假定使用Web应用程序项目 。 但是,使用ASP.Net MVC功能找到有关如何改造现有ASP.net网站项目的信息似乎是不可能的。
我已经回顾了Scott Hanselman的文章以及他即将出版的书的第13章,这两篇文章都假设了Web应用程序项目类型。
这可能吗? 有没有人有这方面的指导?
对于初学者来说,将MVC添加到webforms项目中非常简单,为了获得MVC中的功能,需要做更多的工作(仍然很容易)。 首先你要确保你参考了组件并且正在使用.Net 3.5。 其次,您可以在当前Web窗体项目中创建控制器文件夹和视图文件夹。 您也可以使用索引操作创建一个简单的控制器。 然后在global.ascx文件中设置/配置路由。 你应该从那里设置。 在这里查看以供参考。
但是,您只能创建带有代码的aspx页面(可以删除这些页面并在标记中输入正确的继承类)。 要真正“转换”你的项目类型,以便你获得MVC和Visual Studio的好处(添加新视图,转到控制器等)将需要一些玩弄。 我最好的建议是在VS 2008中创建一个新的MVC项目和一个新的Web App项目,并以纯文本比较.csproj文件。 有一个很长的字符串值告诉VS项目模板。
相信我这是行得通的。 我之前在我自己的传统项目上做过。 除了试用/错误/消除之外,我不记得我是如何找到项目类型“钥匙”的。 ASP.Net MVC在与webforms相同的项目中发挥出色。
更新:我认为你可以改变为MVC项目类型,它仍然是一个Web应用程序,通过在.csproj文件的PropertyGroup中使用它们。 将这些文件与您拥有的文件进行比较并更改不同的文件夹,确保复制/备份文件。
<ProjectGuid>{B99EC98A-1F09-4245-B00D-5AF985190AA9}</ProjectGuid>
<ProjectTypeGuids>{603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
更新2:你不会影响你的项目或影响很大。 如果你不那么容易做出备份和游戏。 如果您遇到更改,您将始终拥有备份。 起初我很怀疑,但很高兴我走下了MVC的道路。
我想我会用Visual Studio 2010 SP1 / NuGet / Scott Hanselman完全不支持的实用程序给出一个更新的答案。
这会将所有必需的dll,javascript文件,web.config设置更改等添加到项目中。 如果一切顺利,您应该能够按F5,导航到您网站上的“home”,并查看由mvc呈现的示例表单:“欢迎使用ASP.NET MVC,以完全不受支持的方式升级到NuGet包Hanselman!没有保修!“。
对于WebSite项目,您只需将控制器添加到App_Code,而不是根。 你会错过一些VS的优点 - 因为它不知道你使用的是没有csproj文件的MVC,但是你会真的得到它的工作。
只记得从Controller和ViewPage继承,你应该很好。
链接地址: http://www.djcxy.com/p/62439.html上一篇: in ASP.Net MVC into an existing Web Site Project?
下一篇: WordPress Website is generating random Advertisements in new tab