我的视图模型中的内部成员如何在视图中无法访问?
-
24-10-2019 - |
题
我的视图模型中有一些内部自动属性,但是我强烈的视图没有看到它们。一切都在同一集会中,那为什么会发生这种情况呢?
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运行时动态生成的单独生成的组件编译。因此,您不能使用内部属性。当然,您当然可以在模型上具有内部属性,但是一旦将它们映射到视图模型,就不会有问题,因为无论如何,您应该始终将视图模型传递到视图。
结论:始终仅在视图模型上使用公共属性。
不隶属于 StackOverflow