I am building a new ASP.NET MVC 3 application. In this application, I would like to display an old WebForms user control (.ascx/.ascx.cs) in an overlay in my new MVC razor a
It is very bad practice to do such a thing. However this could be achieved by the following code:
@Html.Partial("_Foo")
Then in your _Foo
partial view, you could have the following:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>
<%@ Register Assembly="SomeAssembly" Namespace="SomeNs" TagName="foo" %>
<foo:SomeControl runat="server" ID="fooControl" />
Hope this helps. Have a look at this question:
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.
I'm working on something similar. I've found these links that might help you.
http://www.codemag.com/article/1009061
How do I render a remote ReportViewer aspx page in MVC4?
How can I use a reportviewer control in an asp.net mvc 3 razor view?