【问题标题】:How to display a collection in View of ASP.NET MVC 4 Razor project?如何在 ASP.NET MVC 4 Razor 项目的视图中显示集合?
【发布时间】: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 并显示每个合同。

标签: c# asp.net-mvc-4 razor render ado.net-entity-data-model


【解决方案1】:

请看下面的视图。您只需遍历您的集合并显示合同。

控制器:

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>
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多