将js Date对象传递给我的ASP.NET Web Api控制器时,我总是得到null.我试过传递字符串,字符串数组,时间跨度 - 所有这些工作,除了日期.检查请求时,日期传递如下:
date:"2014-03-13T15:00:00.000Z"
Run Code Online (Sandbox Code Playgroud)
角度:
$http({
method: 'get',
url: 'api/stuff',
params: {
date: new Date()
}
);
Run Code Online (Sandbox Code Playgroud)
在我的ApiController中:
public IEnumerable<StuffResponse> Get(
[FromUri] DateTime? date
){ ... }
Run Code Online (Sandbox Code Playgroud)
通过日期的正确方法是什么?
我正在定义这样的路线.
$routeProvider
.when('/Home', {
name: 'Main',
templateUrl: 'Main.html',
controller: 'MainController',
controllerAs: 'ctrl'
})
.when('/About', {
name: 'About',
templateUrl: 'About.html',
controller: 'AboutController',
controllerAs: 'ctrl'
})
Run Code Online (Sandbox Code Playgroud)
当我在主控制器中时,如何在控制器中通过查询名称"关于"来查找"/关于"URL?
我正在尝试使用我传递到服务器端的过滤对象从服务器获取过滤数据.我已经成功地使用了一个帖子:
角度:
var filter: { includeDeleted: true, foo: bar };
$http({ method: 'post', url: 'api/stuff', data: filter });
Run Code Online (Sandbox Code Playgroud)
web api:
public IEnumerable<StuffResponse> Post([FromBody]Filter filter)
{
return GetData(filter);
}
Run Code Online (Sandbox Code Playgroud)
但我不想为此使用帖子,我想使用get.但这不起作用:
角
$http({ method: 'get', url: 'api/stuff', params: filter });
Run Code Online (Sandbox Code Playgroud)
web api
public IEnumerable<StuffResponse> Get([FromUri]Filter filter)
{
return GetData(filter);
}
Run Code Online (Sandbox Code Playgroud)
还尝试指定params:{filter:filter}.如果我尝试[FromBody]或什么都没有,过滤器为空.使用FromUri我至少得到一个对象 - 但没有数据.任何想法如何解决这个问题,而无需为所有过滤器属性创建输入参数?