0

コントローラ:

public ActionResult Details(int id)
    {
        ViewBag.AccountType = new BusinessLayer.AccountTypeManager().GetAccountTypes();
        return View(new BusinessLayer.AccountManager().getAccount(id));
    }

意見:

<div class="display-label">Account Type</div>
<div class="display-field">@Html.DisplayFor(modelItem => modelItem.AccountType)</div><br />

この現在のビューには、AccountType ID が表示されます。ViewBag.AccountType (IEnumerable) によって渡される AccountType 名を表示するにはどうすればよいですか

4

1 に答える 1

0

次のようなもの

<div class="display-label">Account Type</div>
<div class="display-field">@Html.DisplayFor(modelItem => modelItem.AccountType)</div>
@{
    var TypeNames = ViewBag.AccountType as IEnumerable<string>;

    foreach(var item in TypeNames)
    {
        <div>item</div>
    }
}

モードエレガントな方法

public class AccountTypeVewModel
{
    public IEnumerable<string> typeNames { get; set; }
    public Account account { get; set; }
}

コントローラ

public ActionResult Details(int id)
{
    AccountTypeVewModel model = new AccountTypeVewModel();
    model.typeNames = new BusinessLayer.AccountTypeManager().GetAccountTypes();
    model.account = new BusinessLayer.AccountManager().getAccount(id);
    return View(model);
}

見る

<div class="display-label">Account Type</div>
<div class="display-field">@Html.DisplayFor(modelItem => modelItem.account.AccountType)</div>
@{
    foreach(var item in Model.typeNames)
    {
        <div>item</div>
    }
}
于 2013-05-09T13:03:08.907 に答える