Próbuję zaimplementować stronę maszynki Razor _Layout.cshtml MVC, która używa formantu użytkownika ascx WebForm (non-MVC). Robię to opiera się na „tak” w tym artykule Scott Hansleman „Mixing Razor widoków i WebForms Mistrz stron z ASP.NET MVC 3” http://www.hanselman.com/blog/MixingRazorViewsAndWebFormsMasterPagesWithASPNETMVC3.aspxUżyj dotychczasowej kontroli użytkownika ASCX programu ASP.NET w widoku Razor myszy MVC
artykuł mówi, jak korzystać z tego samego ascx kontroli użytkownika zarówno w webform Site.Master page oraz strona MVC Razor _Layout.
Z tego, co przeczytałem: elsewhere on Stackoverflow, można korzystać ze starszych kontrolek użytkownika ascx (a także kontrolek serwera sieciowego ASP.NET) na stronach MVC. Stosując następujący wiersz powinien oddać kontrolę ascx użytkownika w moim Razor _Layout:
@{ Html.RenderPartial("~/UserControls/WebUserControl1.ascx"); }
jednak, że wyrzuca błąd:
The view at '~/UserControls/WebUserControl1.ascx' must derive from ViewPage,
ViewPage<TModel>, ViewUserControl, or ViewUserControl<TModel>.
Próbowałem również poniżej z podobnych wyników:
@Html.Partial("~/UserControls/WebUserControl1.ascx")
Czego mi tu brakuje?
Lekko wprowadzające w błąd, tak długo jak aktualizujesz UX do dziedziczenia ViewUserControl, wszystko jest w porządku ... http: //stackoverflow.com/questions/6538869/mvc3-razor-is-it-possible-to-rendera-a- Legacy-ascx –
@BobTodd: Przez "klasyczne ASP.Net usercontrols", mam tu na myśli postbacks i ViewState, które nie będą działać. – SLaks