如何将列表从C#angular传递到angular控制器
How do I pass a List from C# angular to Angular controller?
我对Angular很陌生,我正试图在我的.NET MVC应用程序中实现它,但我一直被如何从C#发送数据所困扰。在我以前的应用程序中,我已经将SignalR用于所有的客户端-服务器通信,并且我可以在服务器到客户端之间无缝地返回对象,而无需字符串化、串行化或取消序列化。。我想Angular不是那么容易吗?例如,我有服务器端方法:
[HttpGet]
public int TestInt() { return 42; }
[HttpGet]
public string TestString() { return "hooray"; }
[HttpGet]
public List<int> TestList() { return new List<int> {0, 1, 2, 3, 4};}
然后在我的Angular控制器中,我有一个函数,它使用$http.get来调用这些方法
$http.get('/UserRequest/TestInt').success(function (data) { var x = data; });
$http.get('/UserRequest/TestString').success(function (data) {var y = data; });
$http.get('/UserRequest/TestList').success(function (data) {var z = data;});
现在,前两个和预期的一样工作(尽管TestInt以字符串而不是int的形式返回值),但最后一个只返回"System.Collections.Generic.List`1[System.Int32]"。
我应该怎么做才能通过$http.get将列表传递给angular?如果它是我自己的自定义对象呢?明智的做法是仍然只使用SignalR来获取数据,然后使用Angular来调用SignalR方法吗?
如果您不使用WebApi,而只是使用普通的ASP.NET MVC,则可能需要执行以下
public JsonResult TestList()
{
return this.Json(new List<int> { 1, 2, 3 });
}
在angularjs控制器中,您必须在成功事件中调用angular服务,您可以将数据存储到范围
app.controller('mycontroler',['$scope','$http', function($scope,$http){
$http.get('/UserRequest/TestInt').success(function (data) {
$scope.data= data; //this scope object we can access in html
});
}])
这是因为在ASP.NET MVC中,当您简单地返回一个没有从ActionResult继承的类型时,框架通过执行ToString()方法来"字符串化"它。
您可以使用JsonResult(最佳选项),也可以像这样序列化自己:
return Newtonsoft.Json.JsonConvert.SerializeObject(new List<int>() { 2, 3, 4, 5, 5 })
(返回字符串)
相关文章:
- angularjs:访问angular控制器中的jquery变量
- 允许在Angular控制器或视图中使用html标记
- 如何在 Angular 控制器中更改 Satellizer 的 $authProvider.loginUrl
- 将 DOM 操作与 Angular 控制器分离 - 需要最佳实践
- 尝试通过 Angular 控制器使用 Google Geocode API 进行地理编码,值未定义
- 如何将列表从C#angular传递到angular控制器
- 如何从html输入类型=“”中只获得Angular控制器变量中的时间值;时间”;
- Angular:控制器范围内的可重用功能
- $scope.form.$error在Angular控制器中未定义
- 如何在单元测试中注入Angular控制器
- 如何将变量从Angular控制器传递到html<脚本></脚本>
- Angular:控制器可以监视服务器属性吗
- 从 Angular 控制器访问不同模块中的角度服务
- 如何在 PopConconfirm 中单击按钮 yes 时调用在 Angular 控制器中声明的删除函数
- 在 Angular 控制器完成加载异步函数后加载 html 视图
- 如何使用 Angular 控制器将变量传递到另一个页面
- 这两个 Angular 控制器之间的功能有什么区别吗?
- Karma + Webpack Angular 控制器未找到
- 如何将范围中的变量注入到 Angular 控制器中
- 从 Angular 控制器调用引导模式