2011-06-30 14 views

Odpowiedz

15

Tak. Spróbuj to zamiast:

@Html.Partial("Footer") 

lub

@{ Html.RenderPartial("Footer"); } 
+11

również zmienić kod, za kierownicą tak, to dziedziczy System.Web.Mvc.ViewUserControl zamiast System.Web.UI.UserControl – Webveloper

+0

podziękowania za uratowanie mnie :) @Webdeveloper: wspomniałeś ważny punkt, bez że rzucił wyjątek. –

+1

Musiałem dodać rozszerzenie do tego działa dla mnie '@ Html.Partial (" Footer.ascx ")' (z MVC4) – pauloya

0

Chciałem tylko dodać, że nie widziałem wiele osób zamieszczających tego rozwiązania:

Html.RenderAction("Footer", "Home"); 

Ta praktyka jest lepsza jeśli ciebie używają MVC, ponieważ możesz określić dowolne dane, które potrzebujesz w kontrolerze, zamiast próbować nimi zarządzać w swobodnym widoku częściowym. Bardzo korzystne, jeśli używasz klasy BaseController do inicjowania wszystkich połączeń.

public class HomeController : Controller { 
    // ... 

    [ChildActionOnly] 
    public PartialViewResult Footer() { 
     // do work 
     return PartialView(); 
    } 

    // ... 
} 
Powiązane problemy