我有一个在 .NET 4.5 上运行的现有 ASP.NET 网站。我需要将 ASP MVC 4 项目(它自己的全功能 Web 应用程序)集成到其中,以便当用户导航到某个页面时,ASP MVC 应用程序在该页面内启动 - 几乎就像在一个iframe
.
在主要解决方案中,我可以将两者设置为启动项目,但这显然不是我想要的。有人可以指出我如何做到这一点吗?我以前从未使用过 WCF,但是它可以用来做什么吗?谢谢你的一切!
您可以创建混合 Webforms - MVC 应用程序。
为此,您需要:
- 将 MVC 配置从新 MVC 项目的 web.config 复制到 WebForms 应用程序 web.config
- 创建标准 MVC 4 文件夹(至少 Views、Controllers)
- 引用所需的程序集
- 将 Views 内的 web.config 从 MVC 项目复制到 WebForms 项目 Views 文件夹
- 更改路由配置以忽略包括 .aspx/.ascx 在内的路由,以便它们由 Web 表单处理,而不是 MVC(也对 .ashx、.asmx 或任何其他基于 Web 表单的工件执行此操作)
这样,您就拥有了一个支持 MVC 和 WebForms 的 ASP.NET 应用程序,并使用相同的身份验证、会话等。
然后你可以进行这种集成:
- 制作完全 MVC 或完全 Web 表单的页面。如果您使用母版页,则需要为 Web 表单创建母版页以及 MVC 布局(这可能非常困难或非常简单,具体取决于其内容和设计)
- 制作 Web 表单页面并使用 AJAX 和 MVC 部分视图集成 MVC 页面
除了我的评论之外,这篇博客文章还会对您有很大帮助:将 ASP.NET MVC 3 集成到现有升级的 ASP.NET 4 Web Forms 应用程序中 http://www.hanselman.com/blog/IntegratingASPNETMVC3IntoExistingUpgradedASPNET4WebFormsApplications.aspx
顺便说一句,这不是理论上的......我有一个包含大量页面、区域和视图的 Web 应用程序,它使用了这种技术,并且工作完美。我必须重新设计母版页(布局和 CSS),以便两种页面看起来相似。我很幸运能够使用 SQL XML 查询和 XSLT 在 Web 表单占位符中呈现菜单,因此在 MVC 布局中重新使用它绝对是容易的。您可以在母版页和 MVC 布局中执行类似的操作(我的意思是手动渲染 HTML,并在两个页面中使用它,这样只需完成一次)
您可能需要一些时间才能让它发挥作用,但这是值得的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)