MVC母版页中的旧webform页面,用于快速转换

时间:2012-09-24 13:51:19

标签: asp.net-mvc razor webforms master-pages

我想知道是否有人使用带有MVC MasterPage的webform页面或甚至更好的Razor _Layout页面。

该公司希望转换为MVC,但他们不想感到任何痛苦,他们希望能够轻松地复古旧页面。在对基础设施和可扩展性投资的典型抱怨之后,我意识到我需要将它们放在平台上然后慢慢地进入现代时代。这不是最佳选择,但它只是一只脚。

所以我希望我可以将主页(标题,菜单,页脚)构建到MVC(实际上已经有),然后从其webform页面中删除母版页并将它们加载到MVC布​​局或母版页中。

我认为我可以用ajax做到这一点,但我真的不想为此做出布线,因为a)他们会将此视为开销和hacky(我同意)和b)有一吨旧页面,我不想永远在它。 任何想法或经验将不胜感激, R

2 个答案:

答案 0 :(得分:0)

您可以尝试使用HttpHandler或HttpModule,并在请求结束时通过replace(“[SECTION_NAME]”,getSection)放置部分。在MVC中,您可以从vew和model中对html进行geberate,但为此您需要对服务器执行请求。所以我认为如果你缓存这个部分会更好......就像那样。

答案 1 :(得分:0)

好的,所以这显然是一个傻瓜的差事。前提是声音,将他们的常规页面放入mvc主页,然后你有足够的买入向前推进。但这是一个巨大的痛苦,可能甚至不可能。也许将来当他们在MVC中同化WebForms时,这是他们的计划,虽然我看不出它是如何可能的,甚至是可取的,但现在不是。

我得到了this post礼貌的一些方式。它实际上加载了MVC中的页面(必须是webforms,而不是razor)MasterPage。但是当WebForm做了荒谬的“回发”伪事件时,它称之为控制器,而不是页面。在那一刻,我举起双手,决定走政治路线而不是后门路线。

就像我在将来所说的那样,这可能是可能的,如果你真的想挖掘它今天可能是可能的,但正如切割和相当讽刺的评论指出它开始时是一种愚蠢的想法。

[R