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