2013-01-14 6 views
3

Je construis une nouvelle application ASP.NET MVC 3. Dans cette application, je voudrais afficher un ancien contrôle utilisateur WebForms (.ascx/.ascx.cs) dans une superposition dans ma nouvelle application de rasoir MVC en vue partielle. Je ne trouve rien à propos de faire cela sur le web. Quelqu'un peut-il me dire si cela est possible, et si oui, me diriger vers une documentation? Merci.Comment afficher WebForms .ascx comme vue partielle dans MVC 3

Répondre

4

C'est une très mauvaise habitude de faire une telle chose. Cependant, cela pourrait être atteint par le code suivant:

@Html.Partial("_Foo") 

Ensuite, dans votre _Foo vue partielle, vous pourriez avoir:

<%@ 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. Jetez un oeil à cette question:

+0

Merci monsieur. Je vais essayer. – user1373121

3

La réponse longue implique oui vous pouvez, mais .... "

La réponse courte est, vous ne devriez pas.

Sans connaître les détails de votre fichier .ascx, vous pouvez rendre une partie à l'aide

@Html.Partial(PageName) 

Mais, si vous avez des contrôles serveur, ils ne fonctionneront pas. MVC ne prend pas en charge le même type de fonctionnalité d'état de contrôle de rappel. Donc, vous utilisez quelque chose qui ressemble à

<asp:Button runat=server /> 

alors vous feriez mieux de re-factoriser votre partiel.

Questions connexes