ASP.NET MVC AngularJS页面返回模型对象
问题描述:
我有一个ASP.NET MVC 5 AngularJS(1.5.6)应用程序。ASP.NET MVC AngularJS页面返回模型对象
我有一个MVC控制器Action方法,返回模型对象并将该数据绑定到$ scope变量。
下面是代码:
模型类:
public class ApiurlAndUser
{
public string ApiUrl { get; set; }
public string UserName { get; set; }
}
控制器的操作方法:
public ApiurlAndUser GetApiurlAndUsername()
{
var data = new ApiurlAndUser();
data.ApiUrl = ConfigurationManager.AppSettings["WebApiUrl"].ToString();
var request = Request;
if (request != null)
{
var userIdentity = ((System.Web.HttpRequestWrapper)request).LogonUserIdentity;
if(userIdentity!=null)
data.UserName = userIdentity.Name;
}
return data;
}
AngularJS代码在app.js文件:
vm.getApidomainAndUsername = function() {
var url = vm.localUrl + 'home/GetApiurlAndUsername';
$http({
method: 'GET',
url: url,
headers: {
'Content-Type': 'application/json'
}
}).then(function (result) {
debugger;
if (result.data.length > 0) {
var output = result.data;
$scope.userName = result.data.UserName; //here it says undefined
$scope.apiDomain = result.data.ApiUrl;
}
else {
vm.g3pUserName = 'InvalidUser';
}
}, function (error) {
});
};
vm.getApidomainAndUsername();
这里result.data不为空。它显示模型全名。但是,如何在这里访问这些值?如何转换? 欣赏您的回复。
感谢 丽塔
答
这很难说,不知道什么是你result.data。我猜你可能需要
var output = JSON.parse(result.data);
$scope.Username = output.UserName;