相关疑难解决方法(0)

用于GET请求的ASP.NET MVC的自定义模型Binder

我已经创建了一个自定义的MVC Model Binder,每次HttpPost进入服务器都会调用它.但不会被HttpGet要求提出要求.

  • 我的自定义模型绑定器是否应该被调用GET?如果是这样,我错过了什么?
  • 如果没有,我怎么可以编写自定义代码处理QueryStringGET请求?

这是我的实施......

public class CustomModelBinder : DefaultModelBinder
{
   public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
   {
      // This only gets called for POST requests. But I need this code for GET requests.
   }
}
Run Code Online (Sandbox Code Playgroud)

Global.asax中

protected void Application_Start()
{
   ModelBinders.Binders.DefaultBinder = new CustomModelBinder();
   //...
}
Run Code Online (Sandbox Code Playgroud)

我已经研究过这些解决方案,但它们并不能满足我的需求:

  • 坚持复杂的类型 TempData
  • 使用默认绑定器构建复杂类型(?Name=John&Surname=Doe)

备注答案

感谢@Felipe的帮助.为了防止有人与之斗争,我学到了:

  • 定制模型绑定CAN用于GET请求
  • CAN使用DefaultModelBinder
  • 我的想法是动作方法必须有一个参数(否则会跳过模型绑定器的 …

c# asp.net-mvc http-get custom-model-binder

19
推荐指数
1
解决办法
1万
查看次数

标签 统计

asp.net-mvc ×1

c# ×1

custom-model-binder ×1

http-get ×1