【发布时间】:2013-11-21 00:11:52
【问题描述】:
我有一个 POST 类型的 IE8/IE9 CORS request using XDomainRequest 进入 ASP .NET MVC 3 Web 应用程序。链接的博客文章表明:
请求的 Content-Type 标头仅支持 text/plain
现在,由于 Content-Type 是 text/plain,这超出了我的控制范围,MVC 框架不会绑定 POST 内容参数。它似乎只在Content-Type 为application/x-www-form-urlencoded 时绑定它们。
我也无法从Request 对象中读取参数。
我需要找到一种方法让 MVC 绑定这些参数。我想过尝试修改Application_BeginRequest上请求的Content-Type,但这没有奏效。
当Content-Type为text/plain时,如何让MVC框架绑定POST参数?
更新
我相信这些参数将通过Request.InputStream 属性提供。我正在寻找一种使用 MVC 框架默认绑定来一般绑定这些参数的方法。我宁愿不必为我项目中的每个模型编写模型绑定器。
【问题讨论】:
-
我最初的想法是创建一个自定义模型绑定器。但既然你说你甚至不能访问 Request 对象,我不确定这是否是一个选择。
-
@QuetiM.Porta 我在调试模式下搜索了
Request对象,但找不到 POST 内容参数。提琴手正在展示他们进来。也许我没有在Request对象上寻找正确的位置?它们不在Headers或Params集合中。 -
如果你做 Request["yourParamName"] 它是空的?
-
你检查 HttpContext 对象了吗?
-
@Romias 是 Request["yourParamName"] 为空。
标签: c# asp.net-mvc asp.net-mvc-3 cors