是否有可能有一个ASP.NET MVC MasterPage具有导致PostBacks的webforms用户控件?

时间:2010-09-24 15:54:53

标签: asp.net-mvc user-controls master-pages

我很确定答案不会在这里,但我只想确定。正如您可能猜到我正在将Web表单项目转换为ASP.NET MVC。因此,我有一个Web表单母版页和一个MVC母版页。用户控件(.ascx)在MVC主页面中呈现正常,但回发基本上什么都不做。

我所知道的最佳解决方案是使用部分而不是MVC母版页的用户控件。然后有一个抽象控制器,任何使用MVC母版页的控制器都继承自。不完全是DRY,但这是我现在唯一知道的事情。有更好的想法吗?

谢谢! 达伦

2 个答案:

答案 0 :(得分:0)

你是对的 - 来自用户控件的回发只是在Mvc环境中不起作用。

我在类似项目中所做的是逐步将UserControls迁移到从MVC调用的Partials或从webforms中调用。 [无耻的插件]我写过如何在这里调用RenderPartial和RenderAction:http://www.blog.clicktricity.com [/无耻的插件]

答案 1 :(得分:0)

回发控件如提交按钮可以正常工作;渲染__doPostBack的任何内容都不起作用,例如< button>,< a> (或LinkBut​​ton),< input type =“button”/>等等。

此外,不确定所有上下文,但考虑Html.Action MVC 2语法(如果使用MVC 2)也是实现它的一种方式,这可能会更好,具体取决于控件内的内容。