簡體   English   中英

在asp.net核心中綁定不起作用

[英]Bind in asp.net core does not work

我正在嘗試從表單獲取值以將對象保存在數據庫中

我在MarcaController中有此操作。 這是由Visual Studio 2017創建的

而這個觀點

這是由Visual Studio 2017創建的

而這個模型

在此處輸入圖片說明

但是,當我嘗試創建一個新的Marca時,create動作中的marca對象將所有從該表單派生的屬性設置為null,我不明白為什么

另一個選擇是創建一個單獨的模型,僅包含所需的屬性並綁定該模型。

public class MyModel
{
   public int Iva {get;set;}
   public string Path {get;set;};
   // other properties
}

然后在控制器中

public Task Index()
{ 
   var marca = _context.GetMarca();

   //map marca to MyModel here
   var model = new MyModel()
   {
      Iva = marca.Iva,
      Path = marca.Path
      // other properties
   }

   return Index(model);


}

public async Task<IActionResult> Create(MyModel model)
{
     var entity = _context.GetEntityByID(model.Iva);
     entity.Path = model.Path
     //map other properties
     await _context.SaveChanges();
}

我更喜歡綁定不同的模型,而不是綁定實體來查看。

只需在控制器函數中使用[frombody]屬性,因為httppost值來自請求的主體部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM