我正在尝试将返回的结果正确地放入带标签的部分 - 我的意思的例子。
控制器:
public IEnumerable<Users> GetUserList(int? id, int? pageNumber)
{
if (!id.HasValue)
throw new HttpResponseException(HttpStatusCode.NotFound);
int _pageNum = pageNumber.HasValue ? pageNumber.Value : 1;
return new UserService().GetUsers(id.Value, pageNumber: _pageNum);
}
看法:
<div id="listView" data-bind="template: { name: 'list', foreach: Users }">
<section id="Images">
<section id="users"></section>
</section>
</div>
淘汰赛.js/jquery:更新
var letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
// The ViewModel for the page
var viewModel = {
Users: ko.observableArray([]),
users: ko.observableArray([]),
groups: ko.computed({
read: function(){
var groups = [];
var groupLetter;
for(var i = 0; i <letters.length; i++){
viewModel.Users.groups[letters[i]].users([]);
}
ko.utils.arrayForEach(viewModel.users(), function (user) {
groupLetter = user.name()[0].toUpperCase();
if (groups.indexOf(groupLetter) < 0) {
groups.push(groupLetter);
}
groups[groupLetter].users.push(user);
});
return groups.sort();
},
deferEvaluation: true
}),
};
for (var i = 0; i < letters.length; i++) {
viewModel.users.groups[letters[i]] = { users: ko.observableArray([]) };
}
// 页面的 ViewModel
var viewModel = {
Users: ko.observableArray([]), //already a sorted list of users
TotalRoster: null,
CurrentPage: ko.observable(1),
DataIsLoading: ko.observable(false),
};
所以这会在视图中返回:Amanda
Bob
Frank Kate Tim
我想让这个显示在视图中:
A(标题)
阿曼达
B(标题)
鲍勃
F(标题)
坦率
K(标题)
凯特
T(标题)
蒂姆
主要是供查看者查看的视觉参考 - 它将为存在的用户显示字母标题,因此如果没有名称以 S 开头的用户,则不会有 S 标题。任何关于我可以研究的地方或可以称之为什么的帮助我都可以阅读到这将是很棒的。