asp.net-mvc - 为什么我的 View 模型中的内部成员无法在 View 中访问?

标签 asp.net-mvc asp.net-mvc-3 viewmodel access-modifiers strongly-typed-view

我的 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/

相关文章:

jquery - ASP.NET MVC 3 - ViewModel 和刷新 - 问题

asp.net-mvc - 自定义 View 引擎位置 View 模型解析问题

c# - 为什么 ASP.NET MVC 3 异常是 'handled' 两次?

multithreading - Unity MVC GetService在后台线程抛出NullReferenceException

javascript - Meteor.js,基于模板数据更新 View 值,而不是记录本身(即仅 View 模型)

c# - WPF MVVM 设计 ViewModel

asp.net-mvc - 如何在 Linux 主机上发布 ASP.NET MVC 应用程序?

jquery - 修改DataTable属性的值

asp.net-mvc - 如果 MVC3 中的值超出范围,如何添加消息?

asp.net-mvc-3 - 验证隐藏字段