2010-09-01 73 views
6

我有一个大的Web应用程序,我已经设置为ASP.Net Web窗体和MVC。一些较新的页面是MVC(.mvc),一些是Web窗体(.aspx)。由于这是一个商业应用程序和功能不断添加,我很难有时间停下来,并取代现有的功能来转换它。所以我想一块一块做,通过控制来控制。如何在WebForms .aspx页面中使用ASP.Net MVC View?

要做到这一点,所有我需要能够做的就是

<% Html.RenderPartial() %><% Html.HelperMethod %>

更换某些控件是否有可能从什么让这些方法包括命名空间或继承页面在页面上的其他控件上仍然保持页面的其余生命周期?

+0

所以你想在MVC中的视图结合到Web窗体,然后将它用于所有的应用程序,不是吗? – thangchung 2011-06-01 15:00:15

+0

如果你愿意做一些更多的重组,请看http://zeusmvc.codeplex.com/ – 2011-06-05 23:38:19

回答

5

我看到了这个问题,我记得我读过由Scott Hanselman在这方面的几个职位,所以在这里你去:

另外两个关于这个问题的文章:

我想给你总结一下可以:

  • 有无ASP.NET MVC和ASP.NET Web窗体并排的一面,比如,你可以有新的ASP意见.NET MVC和旧的将保留在WebForms中(如果它为什么重写它?)。你“只是”需要弄清楚如何共享母版页。
  • 您可以在非Razor ASP.NET MVC视图中使用基本的WebForms控件,但是如果它们使用PostBacks或需要ViewState - 它们将不起作用,因为完整的WebForms生命周期不在ASP.NET MVC视图中。
  • 关于WebForms内部的部分视图。你可以破解/强制ASP.NET MVC管道将路由/视图渲染为字符串并将其附加到WebForms页面。不过问题和问题是多么有用,因为如果您正在进行编辑,您将在POST期间失去模型绑定以及MVC模型验证。一些代码来渲染视图 - How to include a partial view inside a webform。如果需要的话,你总是可以使用ajax来拉取局部视图。
相关问题