我的视图模型中有一些内部自动属性,但是我强烈的视图没有看到它们。一切都在同一集会中,那为什么会发生这种情况呢?

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

.

@*My view*@
@model MyViewModel

@Model.PublicProperty

@Model.InternalProperty @*Causes compilation error*@
有帮助吗?

解决方案

视图由ASP.NET运行时动态生成的单独生成的组件编译。因此,您不能使用内部属性。当然,您当然可以在模型上具有内部属性,但是一旦将它们映射到视图模型,就不会有问题,因为无论如何,您应该始终将视图模型传递到视图。

结论:始终仅在视图模型上使用公共属性。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top