C#MVC:使用ModelBinder的真正优势是什么?
我想知道使用ModelBinder的真正可测量优势是什么 模型活页夹 MVC中的模型绑定器提供了 映射已发布表单值的简单方法 到.NET Framework类型并传递 键入一个动作方法作为 参数活页夹也给你 控制数据的反序列化 传递给操作的类型 方法。模型绑定器与类型类似 转换器,因为它们可以转换 将HTTP请求转换为 传递给操作方法。然而, 他们也有关于 当前控制器上下文 从 模型活页夹 MVC中的模型绑定器提供了 映射已发布表单值的简单方法 到.NET Framework类型并传递 键入一个动作方法作为 参数活页夹也给你 控制数据的反序列化 传递给操作的类型 方法。模型绑定器与类型类似 转换器,因为它们可以转换 将HTTP请求转换为 传递给操作方法。然而, 他们也有关于 当前控制器上下文C#MVC:使用ModelBinder的真正优势是什么?,c#,asp.net-mvc,C#,Asp.net Mvc,我想知道使用ModelBinder的真正可测量优势是什么 模型活页夹 MVC中的模型绑定器提供了 映射已发布表单值的简单方法 到.NET Framework类型并传递 键入一个动作方法作为 参数活页夹也给你 控制数据的反序列化 传递给操作的类型 方法。模型绑定器与类型类似 转换器,因为它们可以转换 将HTTP请求转换为 传递给操作方法。然而, 他们也有关于 当前控制器上下文 从 模型活页夹 MVC中的模型绑定器提供了 映射已发布表单值的简单方法 到.NET Framework类型并传递 键入一个
从。而不是将原语发送到您的操作中:
public ActionResult Search(string tagName, int numberOfResults)
您将获得一个自定义对象:
public ActionResult Search(TagSearch tagSearch)
这使您的搜索操作“更薄”(一件好事),更易于测试,并减少维护。而不是将原语发送到您的操作中:
public ActionResult Search(string tagName, int numberOfResults)
您将获得一个自定义对象:
public ActionResult Search(TagSearch tagSearch)
这使您的搜索操作“更轻薄”(这是一件好事),更易于测试并减少维护。还有另一个好处: 您可以创建ModelBinder,从数据库中检索仅给定ID的对象 这将允许您执行类似的操作
// GET /Orders/Edit/2
public ActionResult Edit(Order order){
return View(order);
}
定制的ModelBinder
将为您执行数据获取,使您的控制器保持精简
如果没有ModelBinder
,它可能看起来像这样:
// GET /Orders/Edit/2
public ActionResult Edit(int id){
var order = _orderRepository.Get(id);
// check that order is not null and throw the appropriate exception etc
return View(order);
}
还有一个好处: 您可以创建ModelBinder,从数据库中检索仅给定ID的对象 这将允许您执行类似的操作
// GET /Orders/Edit/2
public ActionResult Edit(Order order){
return View(order);
}
定制的ModelBinder
将为您执行数据获取,使您的控制器保持精简
如果没有ModelBinder
,它可能看起来像这样:
// GET /Orders/Edit/2
public ActionResult Edit(int id){
var order = _orderRepository.Get(id);
// check that order is not null and throw the appropriate exception etc
return View(order);
}
你把这两个例子换了吗?你把这两个例子换了吗?