我的 View 模型中有一些内部自动属性,但我的强类型 View 看不到它们。一切都在同一个程序集中,那么为什么会发生这种情况呢?
public class MyViewModel {
public int PublicProperty { get; set; }
internal int InternalProperty { get; set; }
}
.
@*My view*@
@model MyViewModel
@Model.PublicProperty
@Model.InternalProperty @*Causes compilation error*@
最佳答案
View 由 ASP.NET 运行时编译在单独的动态生成的程序集中。所以你不能使用内部属性。当然,您的模型上仍然可以有内部属性,但是一旦将它们映射到 View 模型,就不会有问题,因为无论如何您都应该始终将 View 模型传递到 View 。
结论:始终仅在 View 模型上使用公共(public)属性。
关于asp.net-mvc - 为什么我的 View 模型中的内部成员无法在 View 中访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5809469/