欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > net core mvc 数据绑定 《2》 bind fromquery,FromRoute,fromform等,自定义模型绑定器

net core mvc 数据绑定 《2》 bind fromquery,FromRoute,fromform等,自定义模型绑定器

2025/11/3 10:14:48 来源:https://blog.csdn.net/u013400314/article/details/142594606  浏览:    关键词:net core mvc 数据绑定 《2》 bind fromquery,FromRoute,fromform等,自定义模型绑定器

mvc core 模型绑定 控制绑定名称

》》》Bind 属性可以用来指定 模型应该 绑定的前缀

public class MyController : Controller
{[HttpPost]public ActionResult Create([Bind(Prefix = "MyModel")] Ilist<MyModel> model){// 模型绑定将尝试从请求的表单数据中绑定以"MyModel"为前缀的字段到model参数if (ModelState.IsValid){// 执行相关操作,例如保存到数据库return RedirectToAction("Index");}return View(model);}
}

在这个例子中,[Bind(Prefix = “MyModel”)]指定了模型应该绑定的前缀为"MyModel"。这意味着控制器操作Create在接收到HTTP POST请求时,会尝试从请求的表单数据中绑定以"MyModel"为前缀的字段到MyModel类型的参数。

 <form  method="post" action =''My/Action''><input name="MyModel" id=“xx” type=“text” /><input name="MyModel" id=“xxxx” type=“text” /><input name="MyModel" id=“xxxxx” type=“text” /></form

另外,Bind属性也可以用来指定不应该绑定哪些属性:

public class MyController : Controller
{[HttpPost]public ActionResult Edit([Bind(Exclude = "Salary")] Employee model){// 模型绑定将尝试绑定除"Salary"以外的所有字段if (ModelState.IsValid){// 执行更新操作return RedirectToAction("Index");}return View(model);}
}

在这个例子中,[Bind(Exclude = “Salary”)]指定了在模型绑定时,"Salary"属性将不会被绑定。这通常用于安全考虑,防止用户修改敏感信息。

在这里插入图片描述
在这里插入图片描述

自定义模型绑定器

public class CustomModelBinder : IModelBinder
{public Task BindModelAsync(ModelBindingContext bindingContext){// 自定义绑定逻辑}
}

然后在控制器的方法中使用 [ModelBinder] 特性应用自定义的模型绑定器。

public IActionResult MyAction([ModelBinder(typeof(CustomModelBinder))] MyModel model)
{// 使用自定义模型绑定器
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词