在我的控制器中,我将根据名称的第一个字母返回信息,然后将所有以该字母开头的名称分组。所有名称都已按字母顺序预先排序 - 我的观点反映了我想要展示的内容。
目前我有:
阿曼达
金
琳达
马尔利
麦克
这就是我得到名字的方式:
public IEnumerable<Names> GetNames(int? id, int? pageNumber)
{
int _pageNum = pageNumber.HasValue ? pageNumber.Value : 1;
var userIndex = new NamesService().GetNames(id.Value, pageNumber: _pageNum).GroupBy(x => x.Name.Substring(0, 1));
var users = new List<NameUser>();
foreach (var group in userIndex)
{
string curLetter = group.Key;
foreach (NameUser user in group)
{
users.Add(user);
}
}
return users.AsEnumerable();
}
我如何让我查看在属于该字母的名称组之前显示该字母 - 让curLetter
打印然后users.Add(user)
所以我的结果将是:
一个
阿曼达
ķ
金
→
琳达
中号
马尔利
麦克
答案 0 :(得分:0)
在您的视图中假设模型是
@model IEnumerable<NameUser>
然后您可以遍历该集合并检查第一个字母是否已更改
@{
string s = "-1";
}
@foreach( NameUser user in Model )
{
if( user.Name.Substring(0, 1) != s )
{
s = user.Name.Substring(0, 1);
<div>@s</div>
}
<div>@user.Name</div>
}
html可能需要@:
前言