如何在 ASP.NET MVC 4 Razor 项目的视图中显示集合?
Posted
技术标签:
【中文标题】如何在 ASP.NET MVC 4 Razor 项目的视图中显示集合?【英文标题】:How to display a collection in View of ASP.NET MVC 4 Razor project? 【发布时间】:2013-06-26 10:09:41 【问题描述】:我有以下型号:
public class ContractPlain
public int Id get; set;
public Guid ContractGuid get; set;
public int SenderId get; set;
public int RecvId get; set;
public int ContractType get; set;
public string ContractStatus get; set;
public DateTime CreatedTime get; set;
public DateTime CreditEnd get; set;
public class Contrtacts
List<ContractPlain> listOutput;
public void Build(List<ContractPlain> listInput)
listOutput = new List<ContractPlain>();
public List<ContractPlain> GetContracts()
return listOutput;
internal void Build(List<contract> currentContracts)
throw new NotImplementedException();
如你所见,我定义了一个完整的集合。
为什么?
我需要为用户呈现表格中的数据,因为有几行属于确切/唯一用户(例如,20-30 个商店商品被引用到单个客户)。
所以,我正在使用 ADO.NET 实体从数据库中获取数据。 Controller
中模型实例的绑定问题已完成,我对此没有任何问题,我只处理渲染问题。
我认为,它可以与@for
的东西一起使用,但不知道使用我的自定义模型会更好。
那么,如何使用我的模型渲染View
中的数据?
谢谢!
【问题讨论】:
是的,遍历 List请看下面的视图。您只需遍历您的集合并显示合同。
控制器:
public class ContactsController : Controller
public ActionResult Index()
var model = // your model
return View(model);
查看:
<table class="grid">
<tr>
<th>Foo</th>
</tr>
<% foreach (var item in Model) %>
<tr>
<td class="left"><%: item.Foo %></td>
</tr>
<% %>
</table>
剃须刀:
@model IEnumerable<ContractPlain>
<table class="grid">
<tr>
<th>Foo</th>
</tr>
@foreach (var item in Model)
<tr>
<td class="left"><@item.Foo></td>
</tr>
@
</table>
【讨论】:
【参考方案2】:如果您的操作返回 List
的合约,您可以在视图中执行以下操作:
@model IEnumerable<ContractPlain>
@foreach(ContractPlain contract in Model)
<ul>
<li>@contract.ContractGuid</li>
<li>@contract.SenderId</li>
<li>@contract.ContractStatus</li>
<li>@contract.CreditEnd</li>
</ul>
【讨论】:
以上是关于如何在 ASP.NET MVC 4 Razor 项目的视图中显示集合?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio 2017 的 ASP.NET MVC 中创建自定义生成/脚手架模板(Razor)?