Question

J'ai quelques propriétés automatiques internes dans mon modèle de vue, mais mon avis fortement typé ne les voit pas. Tout est dans le même ensemble, alors pourquoi est-ce qui se passe?

public class MyViewModel {
    public   int PublicProperty { get; set; }
    internal int InternalProperty   { get; set; }
}

.

@*My view*@
@model MyViewModel

@Model.PublicProperty

@Model.InternalProperty @*Causes compilation error*@
Était-ce utile?

La solution

Les vues sont compilées dans un ensemble dynamiquement distinct généré par le moteur d'exécution ASP.NET. Donc, vous ne pouvez pas utiliser les propriétés internes. Vous pouvez bien sûr avoir encore des propriétés internes sur votre modèle, mais une fois que vous les associez à modèle de vue, il n'y aura pas de problème que vous devriez toujours passer un modèle en vue de la vue de toute façon.

Conclusion: toujours utiliser les propriétés que sur vos modèles publics de vue

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top