【发布时间】:2014-06-05 07:10:05
【问题描述】:
我在 cshtml 页面中查看时遇到了一些问题.. 我已经像这样定义了foreach
<table>
<tr>
<th>Type</th>
<th>Name</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td> @Html.DisplayFor(modelItem => item.typeBook)</td>
<td> @Html.DisplayFor(modelItem => item.bookName)</td>
<tr>
}
</table>
和视图
Type | Name
Horror | Scary
Horror | Spooky
Jokes | Bean
但我想要这样的视图..
Type | Name
Horror | Scary , Spooky
Jokes | Bean
这是我的视图模型
public class BookViewModel
{
[DataMember]
public int IdBook { get; set; }
[DataMember]
[DisplayName("type Book")]
public string typeBook { get; set; }
[DataMember]
[DisplayName("book Name")]
[Required]
public string bookName { get; set; }
}
为了选择数据库,我使用 linq Exp
Expression<Func<Book, bool>> criteria = c => c.IdBook == (int)IdBook ;
IOrderedEnumerable<BookViewModel> result = this.GetList(criteria).OrderBy(o => o.typeBook);
return result.ToList<BookViewModel>();
任何人都可以对此有想法吗?任何参考,建议都会有所帮助..谢谢!
【问题讨论】:
-
您最好的方法是制作一个已经具有您想要的输出的模型,然后使用该模型来构建表格。在你看来,你不会在你的 foreach 循环和 LINQ 中挣扎。
-
我认为您的模型需要更改。你的模型看起来怎么样?
-
您应该使用 linq 查询来区分和分组以获取更多信息:stackoverflow.com/questions/20582391/…
-
在控制器中使用 GroupBy 查询
-
我更新了有问题的视图模型
标签: c# linq asp.net-mvc-4 razor foreach