10

我有以下模型:

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使用我的模型时渲染数据?

谢谢!

4

2 回答 2

13

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

控制器:

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>
于 2013-06-28T15:28:33.103 回答
5

如果您的操作返回 a Listof contract,您可以在视图中执行以下操作:

@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>
}
于 2013-06-28T15:31:31.283 回答