如何使用 C# 和 Angular js 在视图上显示数据
How to show data on the view using C# and Angular js
我有以下控制器:
public class UserController : BaseApiController
{
// GET api/<controller>
public string Get()
{
var currentuser = CurrentUser.Name;
return currentuser;
}
}
当前用户的值 我以这种方式将数据上下文传递给它:
function getName() {
var deferred = $q.defer();
var promise = deferred.promise;
cachedPromises.currentuser = promise;
$http.get(baseUrl + 'api/user').success(getSucceeded).error(getFailed);
return cachedPromises.currentuser;
function getSucceeded(data) {
console.log('data:', data);
}
function getFailed(parameters) {
console.log("failed", parameters);
}
}
在控制台日志console.log('data:', data);
我获取值,为了应用绑定,我必须将此值传递给控制器.js中的范围。为了做到这一点,我以这种方式做了一个控制器。
LogName.$inject = ['$scope', 'datacontext']
function LogName($scope, datacontext) {
$scope.name =[];
datacontext.getName().then(function (currentuser) {
$scope.name = currentuser;
});
}
在视图上,我有以下用于数据绑定的代码:
<h1 ng-controller="LogName" class="title">{{name}}</h1>
绑定显示为空数组,我不明白出了什么问题.
编辑:当我在控制器上执行控制台登录时:
datacontext.getName().then(function (currentuser) {
$scope.name = currentuser;
console.log('current', currentuser);
});
视图上不显示任何内容,编译器未到达 datacontext.getName
您的 MVC 控制器返回字符串public string Get()
并将$scope.name =[];
声明为数组将其更改为应该有帮助$scope.name ='';
并将函数 getName 更改为 :
function getName() {
var deferred = $q.defer();
$http.get(baseUrl + 'api/user').success(getSucceeded).error(getFailed);
return deffered.promise;
function getSucceeded(data) {
console.log('data:', data);
//add this
deferred.resolve(data);
}
function getFailed(parameters) {
console.log("failed", parameters);
deferred.reject(parameters);;
}
return deffered.promise;
}
你永远不会解决你提供名称的承诺。 向 getSuccess 函数添加解析,向错误函数添加拒绝。
function getSucceeded(data) {
console.log('data:', data);
promise.resolve(data);
}
function getFailed(parameters) {
console.log("failed", parameters);
promise.reject(parameters);
}
这将向等待承诺结果的函数提供数据。
有两个问题:
首先,你没有解决承诺。您需要使用从服务器返回的数据来解决您的承诺。
其次,结果实际上位于从服务器返回的数据的 results
属性中。在这里,由于您只检索名称,因此应使用以下代码:
function getSucceeded(data) {
console.log('data:', data);
deferred.resolve(data.results[0]);
}
相关文章:
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- FF视图源|脚本高亮显示为红色
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 如何在MVC3中显示鼠标悬停在文本上的部分视图
- 如何应用带过滤器的ng if来过滤记录,并在同一页面中显示两个不同的视图
- 为什么我的视图没有显示在角度ui视图中
- 使用PhoneGap和jQuery Mobile在android设备上显示动态列表视图
- 使用Ruby数组使用JS在视图中进行迭代和显示
- 滑动视图 - 显示下一项的预览/片段
- 在剃须刀应用程序中将视图显示为灯箱
- ember.js如何为视图显示不同的筛选列表?复杂的设置
- ng重复视图显示与JSON数据不对应
- RedirectToAction之后没有视图显示
- ASP.. NET MVC控制器/视图显示本地时间
- 离子弹出窗口视图显示在离子模态视图后面
- WinJs列表视图显示:无带ID的tile
- 完整的日历视图显示goToDate分前,下和今天
- 如何从父数组视图显示子对象视图
- CouchApp视图显示将为空结果
- 在树状视图显示中只打开一个li节点