我正在构建一个新的 ASP.NET MVC 3 应用程序。在这个应用程序中,我想在我的新 MVC razor 应用程序的覆盖中显示一个旧的 WebForms 用户控件 (.ascx/.ascx.cs) 作为局部视图。我在网上找不到任何关于这样做的信息。谁能告诉我这是否可行,如果可以,请给我一些文档?谢谢。
问问题
12224 次
3 回答
4
做这样的事情是非常糟糕的做法。但是,这可以通过以下代码来实现:
@Html.Partial("_Foo")
然后在您的_Foo
部分视图中,您可以拥有以下内容:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>
<%@ Register Assembly="SomeAssembly" Namespace="SomeNs" TagName="foo" %>
<foo:SomeControl runat="server" ID="fooControl" />
希望这可以帮助。看看这个问题:
于 2013-01-15T00:05:37.100 回答
3
The long answer involves 'yes you can, but....'
The short answer is, you shouldn't.
Without knowing the specifics of your .ascx file, you can render a partial using
@Html.Partial(PageName)
But, if you have any server controls they will not work. MVC doesn't support the same kind of call back control state functionality. So, you are using any thing resembling
<asp:Button runat=server />
then you're far better off re-factoring your partial.
于 2013-01-15T00:08:44.203 回答
1
我正在做类似的事情。我发现这些链接可能会对您有所帮助。
http://www.codemag.com/article/1009061
于 2014-10-26T12:09:07.383 回答