3

我正在构建一个新的 ASP.NET MVC 3 应用程序。在这个应用程序中,我想在我的新 MVC razor 应用程序的覆盖中显示一个旧的 WebForms 用户控件 (.ascx/.ascx.cs) 作为局部视图。我在网上找不到任何关于这样做的信息。谁能告诉我这是否可行,如果可以,请给我一些文档?谢谢。

4

3 回答 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

如何在 MVC4 中呈现远程 ReportViewer aspx 页面?

如何在 asp.net mvc 3 razor 视图中使用 reportviewer 控件?

于 2014-10-26T12:09:07.383 回答