我不知道如何在ASP.net MVC中将模型与角度视图连接。我试图显示用户模型中的名字和姓氏值。 这是我的观点:
<table class="table" ng-app="UserApp" style="background: white;" height="1200">
<tbody ng-controller="SearchController">
<tr>
<th>First Name</th>
<th>Last Name</th>
</tr>
<tr ng-repeat="user in User">
<td></td>
<td>{{ user.FirstName }}</td>
<td>{{ user.LastName }}</td>
</tr>
}
</tbody>
这是控制器:
public class SearchController : Controller
{
private GigDB db = new GigDB();
// GET: Search
public ActionResult Search()
{
List<User> users;
users = db.Users.ToList();
return View(users);
}
}
这是模型:
public class User
{
[Key]
public int UserID { get; set; }
//[Required]
[Display(Name = "First Name")]
public string FirstName { get; set; }
//[Required]
[Display(Name = "Last Name")]
public string LastName { get; set; }
最后,脚本:
var app = angular.module('UserApp', []);
app.controller('SearchController', function ($scope) {
$scope.model = @Html.Raw(Json.Encode(Model));
console.log($scope.model);
console.log($scope.model[0].FirstName);
});
令我感到困惑的是,脚本中的console.log正在运行,并正确显示了具有所有值的用户对象。同样,当我console.log @ scope.model [0]时,也可以正确提取该值,但是在角度视图中我根本无法显示该值。
答案 0 :(得分:0)
像这样的C#代码返回Json对象
public JsonResult Search()
{
List<User> users;
users = db.Users.ToList();
return JSon(users,JsonRequestBehavior.AllowGet);
}
和脚本应该这样调用数据:
app.controller('SearchController', function ($scope) {
$http({
method: 'GET',
url: '/SearchController/Search'
}).then(function successCallback(response) {
$scope.User= response.data;
});
});
这可能对您有帮助
答案 1 :(得分:-1)
所以,最初,我认为:
<table class="table" ng-app="UserApp" style="background: white;" height="1200">
<tbody ng-controller="SearchController">
<tr>
<th>First Name</th>
<th>Last Name</th>
</tr>
<tr ng-repeat="user in model"> //model here instead of User..
<td></td>
<td>{{ user.FirstName }}</td>
<td>{{ user.LastName }}</td>
</tr>
}
,我认为它不起作用,但事实证明,该表只是在屏幕上向下延伸了很多,我看不到所显示的值。糟糕!