Quando provo di rendere una vista parziale cui tipo di modello è specificato come:Render vista parziale con il modello dinamico Razor motore di visualizzazione e ASP.NET MVC 3
@model dynamic
utilizzando il codice seguente:
@{Html.RenderPartial("PartialView", Model.UserProfile);}
ottengo la seguente eccezione:
'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.
Tuttavia, lo stesso codice in un file aspx funziona perfettamente. qualche idea?
destro, il motivo principale per questo non funziona è che C# non supporta il richiamo di un metodo di estensione (che è ciò che 'Html.RenderPartial()' è) quando uno qualsiasi degli argomenti è di tipo dinamico. Devi chiamare il metodo di estensione in modo statico o convertire l'argomento in un tipo non dinamico. – Eilon