我使用角度2和我的MVC代码之间的数据服务进行数据调用
this.DataService.add(id).subscribe((addLists:Project.Models.AddModel[]) => {
this.addLists = addLists;
});
我在我的数据服务文件中发送了一个或多个作为服务参数的项目:
add = (Id) => {
return this.http.get("/site/getItems/getItems?id=" + Id)
.map(this.getSuccess)
.catch((e) => {
if (console && console.log) {
console.log(e);
}
return Observable.throw(e);
});
};
我正在阅读我的C#代码中的值,如
[RoutePrefix("site/getItems")]
[NoCache]
public class AddController
{
... initialization code
[HttpGet]
[Route("getItems")]
public IEnumerable<AddModel> GetItems(int id)
{
....logic
}
}
这适用于少数参数。但是,现在我需要发送由行和列组成的整个模型数据。 我怎么可能实现这个目标呢?
答案 0 :(得分:0)
您可以切换为使用post
而不是因为您的网址长度受限于IE中的1024个符号,因此即使是序列化的大对象也可能超出此大小。
您的客户端操作可以是
this.http.post("/site/getItems/getItems", complexData)
您的服务器操作可以是
[HttpPost]
[Route("getItems")]
public IEnumerable<AddModel> GetItems(ComplexData data)
{
....logic
}