微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我正在使用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

原文地址:https://www.jb51.cc/aspnet/246153.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐