我正在研究ASP.NET Zero(.NET Core 2.0和jQuery)模板。我正在将我的工作代码从.NET MVC5模板移动到此.NET Core版本中。
我遇到了一些来自JavaScript的app服务调用问题。我在调试中运行了应用程序并捕获了JS和C#的屏幕截图,显示了该值是如何进入C#代码的。下面的第一张图显示了对我的应用服务方法getCompanies
的一个这样的JS调用 - 在这里你可以看到Filter
的getCompanies
参数显然有一个值加载。
现在当调试到达GetCompanies
的C#代码时,参数Filter
是null
。
我之前在.NET MVC5版本中没有遇到过这种类型的问题。这是我在.NET Core版本中遇到的问题。关于如何解决这个或在哪里看的任何想法?
我在Chrome和Edge浏览器中检查了“网络”标签,但我没有看到参数值。
参数名称在Client Proxies的camelCase中。
使用小写f
为filter
:
_companyService.getCompanies({
filter: _filter
}).done(function (result){
//...
});
尝试将Filter属性名称更改为MyFilter并从客户端发送MyFilter。 (有时候保留关键字会阻止asp.net核心中的模型绑定)
您可以使用Fiddler查看最终请求转到服务器。
一篇博文解释绑定。 https://andrewlock.net/model-binding-json-posts-in-asp-net-core/