私は次のモデルを持っています:
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エンティティを使用してDBからデータを取得しています。 Controller
のモデルインスタンスへのバインディングの質問が行われ、問題はありません。レンダリングの質問のみで行います。
@for
と一緒に使用できると思いますが、特に私のカスタムモデルを使用するとどのように改善されるかわかりませんでした。
では、モデルを使用してView
のデータをどのようにレンダリングできますか?
ありがとう!
以下のビューを参照してください。あなたは単にあなたのコレクションを先取りし、契約を表示します。
コントローラ:
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>
アクションが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>
}