/ / ASP MVC interprète étrangement le modèle - les méthodes d'extension ne peuvent pas être envoyées de manière dynamique - c #, asp.net-mvc, visual-studio, partial-views

ASP MVC interprète étrangement le modèle - les méthodes d'extension ne peuvent pas être envoyées de manière dynamique - c #, asp.net-mvc, visual-studio, partial-views

Désolé si cela est évident, mais c'est très déroutant pour moi. Après avoir spécifié le type de modèle:

@model MyNamespace.MyModel

Ce qui n’affiche aucune erreur et le chemin de la MyModel est correct, même est le nom du modèle, certaines des méthodes semblent ne pas reconnaître la Model tapez comme suit:

@Html.Partial("_Title", Model)

Qui génère l'erreur suivante:

les méthodes d'extension ne peuvent pas être distribuées dynamiquement

Ce qui ne devrait pas être montré, puisque le Model le type est spécifié. Aussi, si j'essaye de le lancer à nouveau:

@Html.Partial("_Title", (MyNamespace.MyModel)Model)

Resharper dit que Cast est redondant, mais l'erreur disparaît.

Qu'est-ce qui pourrait entraîner ce comportement dans une vue MVC?

Remarque: j'ai d'autres vues dont le modèle est défini de la même manière et qui utilisent exactement les mêmes vues partielles, mais qui fonctionnent correctement.

J'ai essayé de supprimer le fichier et de recréer et les erreurs continuent à revenir.

Réponses:

1 pour la réponse № 1

Je ne suis pas sûr de savoir pourquoi vous auriez besoin de faire cela du tout. Quand vous appelez Partial() et ne spécifiez pas le modèle, le modèle actuel est passé à la Partielle :)

Cela s’explique par le fait qu’en interne, lorsque vous passez un modèle à Partial () MVC copies le ViewData actuel (y compris ViewData["Model"]) et le passe au partiel suivant, si vous ne spécifiez pas la valeur, la valeur actuelle est utilisée.