繁体   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