J'essaie de convertir mes pages ASPX en CSHTML et d'avoir un problème avec des pages partielles de rendu d'un autre dossier.
Ce que je faisais: P>
@Html.RenderPartial("~/Views/Inquiry/_InquiryList.cshtml", Model.InquiryList.OrderBy("InquiryId", MvcContrib.Sorting.SortDirection.Descending))
3 Réponses :
Le compilateur ne peut pas choisir la méthode correcte car votre modèle est dynamique. Changez l'appel à:
@Html.RenderPartial("~/Views/Inquiry/_InquiryList.cshtml", (List<string>)Model.InquiryList)
Le RenderPartial ne renvoie pas une valeur de chaîne ou d'ihtmlling. Mais le rendu en appelant écrit-il dans la réponse.
Vous pouvez utiliser le partiel extension, cela renvoie un MVCHTMLString P> ou p> si vous vraiment envie de rendupartial p> p>
L'écriture sur le flux de réponses directement est considérée comme plus efficace, cependant, vous devriez toujours y aller pour rendupartial à moins que vous n'ayez besoin de la partielle comme une chaîne pour l'édition ou une autre raison.
N'oubliez pas d'inclure votre directive Fortement typée @model code> dans votre nouvelle vue Razor. C'est une étape facile à manquer lors de la conversion de la vue de .aspx à .cshtml. Si vous oubliez, que 'system.web.mvc.htmlhelper' n'a pas de méthode applicable nommé "partial" em> message d'erreur peut apparaître. P>