Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 我能';t将附加参数绑定到AngularJS调用_Asp.net_Angularjs - Fatal编程技术网

Asp.net 我能';t将附加参数绑定到AngularJS调用

Asp.net 我能';t将附加参数绑定到AngularJS调用,asp.net,angularjs,Asp.net,Angularjs,我有一个ASP.NET应用程序,表单由AngularJS处理。有两个日期时间选择器(fromDate和toDate变量)和复选框,用于指示是否包括开放日期(包括IsoPenDate) 代码如下所示: 1) 在第一个AngularJS模块中: SearchActionsApp.controller("ListController", function($scope, $location,$q, Actions, ActionDates, CounterAgents,Counteragents, A

我有一个ASP.NET应用程序,表单由AngularJS处理。有两个日期时间选择器(fromDate和toDate变量)和复选框,用于指示是否包括开放日期(包括IsoPenDate)

代码如下所示:

1) 在第一个AngularJS模块中:

SearchActionsApp.controller("ListController", function($scope, $location,$q, Actions, ActionDates, CounterAgents,Counteragents, AsyncTask) {
...

$scope.actionsQuery = {
    searchText: "",
    fromDate: new Date(moment().format("MM/DD/YYYY")),
    toDate: new Date(moment().add('d', 3).format("MM/DD/YYYY")),
    isOpenDatesIncluded: false,
...

ActionDates.query({ actionId: action.Id, isOpenDatesIncluded: $scope.actionsQuery.isOpenDatesIncluded, fromDate: $scope.actionsQuery.fromDate, toDate: $scope.actionsQuery.toDate }, task.success, task.error);

...

}
2) 在service.js中:

.factory('ActionDates', function ($resource) {
    return $resource('/RestApi/api/ActionDates', {});
})
3) 在服务器端:

[HttpGet]
public IEnumerable<ActionDateItem> GetByQuery([FromUri]ActionDateQuery query)
{
    return _service.QueryActionDates(query);
}

public IEnumerable<ActionDateItem> QueryActionDates(ActionDateQuery query)
{
    var sql = query.BuildSql();
    using (var cn = CreateSqlConnection())
    {
        return cn.Query<ActionDateItem>(sql, new
        {
            query.ActionId,
            query.IsOpenDatesIncluded,
            BeginDate = query.FromDate,
            EndDate = query.ToDate
        });
    }
}

public class ActionDateQuery
{
    public ActionDateQuery()
    {
        ActionId = -1;
        IsOpenDatesIncluded = false;
        FromDate = new DateTime(1980, 1, 1);
        ToDate = DateTime.Now.AddYears(1);
    }

    public long ActionId { get; set; }
    public bool IsOpenDatesIncluded { get; set; }
    public DateTime FromDate { get; set; }
    public DateTime ToDate { get; set; }
}
[HttpGet]
公共IEnumerable GetByQuery([FromUri]ActionDateQuery查询)
{
return\u service.QueryActionDates(查询);
}
公共IEnumerable查询操作日期(ActionDateQuery查询)
{
var sql=query.BuildSql();
使用(var cn=CreateSqlConnection())
{
返回cn.Query(sql,新建
{
query.ActionId,
query.isopendate包括在内,
BeginDate=query.FromDate,
EndDate=query.ToDate
});
}
}
公共类ActionDateQuery
{
公共ActionDateQuery()
{
ActionId=-1;
IsOpenDatesIncluded=假;
FromDate=新的日期时间(1980,1,1);
ToDate=DateTime.Now.AddYears(1);
}
公共长ActionId{get;set;}
公共bool isopendates包含{get;set;}
公共日期时间FromDate{get;set;}
公共日期时间ToDate{get;set;}
}
问题是,查询返回的数据集从:1980、1、1到DateTime.Now.AddYears(1),但我需要返回从客户端获得的范围为:fromDate-toDate的数据

客户端附加到RestApi URL的参数是正确的,但我只在服务器端获得第一个参数-ActionId。我没有其他3个-包括IsoPendate,FromDate和ToDate

我不知道如何在service.js文件中绑定它们


如何做到这一点?

Try:For GET方法使用[FromUri]。对于POST方法,请使用[FromBody],如下面的public IEnumerable QueryActionDates([FromUri]ActionDateQuery查询),我已经有了它。请看一看我刚刚编辑过的原始帖子。请分享一段代码,您正在制作$http.get。这里没有$http.get。我们使用$resource。