我有一个在 .NET 4.5 上运行的现有 ASP.NET 网站。我需要将一个 ASP MVC 4 项目(这是它自己的全功能 Web 应用程序)集成到其中,以便当用户导航到某个页面时,ASP MVC 应用程序会在该页面内启动 - 几乎就像它在一个iframe
.
在主要解决方案中,我可以将两者都设置为启动项目,但这显然不是我想要的。有人可以指出我如何做到这一点吗?我以前从未使用过 WCF,但它可以用于此目的吗?感谢一切!
最佳答案
您可以创建一个混合网络表单 - MVC 应用程序。
为此,您需要:
这样,您就有了一个支持 MVC 和 WebForms 的 ASP.NET 应用程序,并使用相同的身份验证、 session 等。
然后你可以进行这种集成:
- 制作完全 MVC 或完全 web 表单的页面。如果您使用母版页,则需要为 Web 表单创建母版页,并为 MVC 创建一个布局(这可能非常困难或很容易,具体取决于其内容和设计)
- 制作 web 表单页面并使用 AJAX 和 MVC 部分 View 集成 MVC 页面
来自我的评论,这篇博文对你有很大帮助:Integrating ASP.NET MVC 3 into existing upgraded ASP.NET 4 Web Forms applications
顺便说一句,这不是理论上的......我有一个包含大量页面、区域和 View 的 Web 应用程序,它使用了这种技术,并且它完美地工作。我不得不重做母版页的设计(布局和 CSS),以使这两种页面看起来相似。我很幸运能够使用 SQL XML 查询和 XSLT 在 webforms 占位符中呈现菜单,因此在 MVC 布局中重新使用它绝对容易。您可以在母版页和 MVC 布局中执行与此类似的操作(我的意思是手动渲染 HTML,并在两个页面中使用它,因此只执行一次)
您可能需要一些时间才能使其正常工作,但值得付出努力。
关于asp.net - 从普通的 .aspx 页面启动 ASP MVC 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16404745/