gpt4 book ai didi

asp.net-mvc - { 得到;放;在 ViewModel 中使用

转载 作者:行者123 更新时间:2023-12-03 23:12:42 26 4
gpt4 key购买 nike

我正在使用 C# 以及将 View 模型从 Controller 传递到 View 的 ViewModel。
在我的 View 模型中,以下内容似乎按预期工作,因为它将描述信息从 View 传递回 Controller :

public string Description { get; set; } 
但如果我有以下内容,它不会传回描述。说明显示为空。
 public string Description  
为什么是 { get; set; }重要的?

最佳答案

我对 asp.net MVC/Razor 了解不多,但是您的 2 个代码示例之间存在重要区别。

public string Description { get; set; }  

创建一个属性,一旦编译,类中有一个生成的私有(private)字段,带有访问该字段的get/set方法。用 {get;set;} 声明的属性等价于:
    private string _description;
public string Description
{
get
{
return _description;
}
set
{
this._description = value;
}
}

但是以下内容:
public string Description;

创建一个简单的公共(public)字段。

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

关于asp.net-mvc - { 得到;放;在 ViewModel 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11399375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com