在模型绑定中设置排除值的值

本文关键字:排除 设置 模型 绑定 | 更新日期: 2023-09-27 18:17:57

在一个MVC5 ASP。. NET应用程序与实体框架6我有以下创建方法:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "folio,fecha,almacen,cliente,plaza,usuario,id_factura")] facturas_prueba facturas_prueba)
{
     if (ModelState.IsValid)
     {
          db.facturas_prueba.Add(facturas_prueba);
          db.SaveChanges();
          return RedirectToAction("Index");
     }
     ViewBag.almacen = new SelectList(db.CATALMA, "COD_ALM", "NOM_ALM", facturas_prueba.almacen);
     ViewBag.cliente = new SelectList(db.CATCTES, "COD_CTE", "NOM_CTE", facturas_prueba.cliente);
     ViewBag.usuario = new SelectList(db.FACPARU, "cod_usu", "cod_Alm", facturas_prueba.usuario);
     ViewBag.plaza = new SelectList(db.PLAZAS, "PLAZA", "LAST_COD_CTE", facturas_prueba.plaza);
     return View(facturas_prueba);
}
如您所见,默认情况下使用的是[Bind(Include = .据我所知,我可以使用它只包含我想要的请求参数。所以,我只想要文件夹,茶,阿尔玛森和客户。其他字段我想手动设置它们(目前,硬编码值)并删除视图中与它们相关的任何字段(因为我们不需要放置这些值)。mvp是怎么做到这一点的?

在模型绑定中设置排除值的值

mvp是如何做到这一点的?

为视图和持久层使用不同的模型类型。你的"ViewModel"类将只包含在视图中公开的类型/属性(或隐藏但视图正常工作所必需的)。

当提交数据进行添加/更新时—从源检索现有字段,与提交的数据合并,然后持久化回