应用程序服务没有从JS发送参数值

时间:2017-12-24 02:19:32

标签: javascript c# asp.net-mvc asp.net-core aspnetboilerplate

我正在研究ASP.NET Zero(.NET Core 2.0& jQuery)模板。我正在将我的工作代码从.NET MVC5模板移动到这个.NET Core版本中。

我遇到了一些来自JavaScript的app服务调用问题。 我在调试中运行了应用程序并捕获了JS和C#的屏幕截图,显示了该值是如何进入C#代码的。 下面的第一张图显示了对我的应用服务方法getCompanies的一个这样的JS调用 - 在这里您可以看到Filter的{​​{1}}参数显然已加载了值。 enter image description here

现在,当调试到达getCompanies的C#代码时,参数GetCompaniesFilterenter image description here

我之前在.NET MVC5版本中没有遇到过这种类型的问题。这是我在.NET Core版本中遇到的问题。关于如何解决这个或在哪里看的任何想法?

更新

我在Chrome和Edge浏览器中检查了“网络”标签,但我没有看到参数值。

来自Edge浏览器的

网络标签: enter image description here enter image description here

2 个答案:

答案 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/