Asp.net-Mvc
{ 得到;放;在 ViewModel 中使用
我正在使用 C# 以及將視圖模型從控制器傳遞到視圖的 ViewModel。
在我的視圖模型中,以下內容似乎按預期工作,因為它將描述資訊從視圖傳遞回控制器:
public string Description { get; set; }但如果我有以下內容,它不會傳回描述。說明顯示為空。
public string Description為什麼
{ get; set; }重要?
我對 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;創建一個簡單的公共欄位。
我的猜測是 razor 使用反射從 ViewModel 獲取值,它可能會尋找一個屬性,而不是一個欄位。所以它確定該屬性不存在,因此返回 null