加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – {get;组; }在ViewModel中使用

发布时间:2020-12-15 20:14:45 所属栏目:asp.Net 来源:网络整理
导读:我正在使用c#以及将视图模型从控制器传递给视图的ViewModel. 在我的视图模型中,以下内容似乎按照预期的方式工作,因为它将描述信息从视图传递回控制器: public string Description { get; set; } 但是如果我有以下的内容,它不会传回描述.说明显示为空 public
我正在使用c#以及将视图模型从控制器传递给视图的ViewModel.

在我的视图模型中,以下内容似乎按照预期的方式工作,因为它将描述信息从视图传递回控制器:

public string Description { get; set; }

但是如果我有以下的内容,它不会传回描述.说明显示为空

public string Description

为什么
{get;组; }

很重要?

解决方法

我不太了解asp.net MVC / Razor,但您的2个代码示例之间有重要的区别.
public string Description { get; set; }

创建一个属性,一旦编译,在类中有一个生成的私有字段,get / set方法访问该字段.使用{get; set;}声明的属性相当于:

private string _description;
    public string Description
    {
        get
        {
            return _description;
        }
        set
        {
            this._description = value;
        }
    }

但是以下内容:

public string Description;

创建一个简单的公共字段.

我的猜测是,剃刀使用反射来从ViewModel获取值,它可能会查找一个属性,而不是一个字段.所以它确定属性不存在,因此返回null

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读