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 № 1Je 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.