我正在学习MVC4。我可以使用foreach
以表格格式显示记录。
现在,我需要在标签中显示{only}第一个Description
对象的Topic
。我需要在没有foreach
的情况下完成。我们怎么做呢?
查看
@model MvcSampleApplication.Models.LabelDisplay
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@using (Html.BeginForm())
{
foreach (var item in Model.Topics.Select((model, index) => new { index, model }))
{
<div>@(item.index) --- @item.model.Description---- @item.model.Code</div> <div></div>
}
}
控制器操作
public ActionResult Index()
{
LabelDisplay model = new LabelDisplay();
Topic t = new Topic();
t.Description = "Computer";
t.Code=101;
Topic t3 = new Topic();
t3.Description = "Electrical";
t3.Code = 102;
model.Topics = new List<Topic>();
model.Topics.Add(t);
model.Topics.Add(t3);
return View(model);
}
模型
namespace MvcSampleApplication.Models
{
public class LabelDisplay
{
public List<Topic> Topics;
}
public class Topic
{
public string Description { get; set; }
public int Code { get; set; }
}
}
参考
答案 0 :(得分:3)
我需要在标签
中显示(仅)第一个主题对象的描述
除非我完全误解了你,否则在你的视图中选择第一项(仅限)会是这样的:
@if (Model.Topics.Any())
{
@Html.DisplayFor(x => x.Topics.First().Description)
}