Kiedy próbuję uczynić częściowy widok, którego wzór jest określony jako typ:Render częściowy widok z dynamicznym modelu w widoku Razor silnika i ASP.NET MVC 3
@model dynamic
za pomocą następującego kodu:
@{Html.RenderPartial("PartialView", Model.UserProfile);}
otrzymuję następujący wyjątek:
'System.Web.Mvc.HtmlHelper<dynamic>' has no applicable method named 'RenderPartial' but appears to have an extension method by that name. Extension methods cannot be dynamically dispatched. Consider casting the dynamic arguments or calling the extension method without the extension method syntax.
jednak ten sam kod w pliku .aspx działa bez zarzutu. jakieś pomysły?
Prawo, główny powód to nie działa jest to, że C# nie obsługuje wywoływania metody rozszerzającej (czyli 'Html.RenderPartial()'), gdy którykolwiek z argumentów jest typu dynamicznego. Musisz albo wywołać metodę rozszerzenia statycznie, albo rzucić argument na typ niedynamiczny. – Eilon