DropDownList или DropDownListFor в MVC3 Razor? - PullRequest
0 голосов
/ 29 декабря 2011

У меня есть отчет, который показывает список со следующими столбцами:

A key column
A dropdown list showing a list of possible status
A title

Это код бритвы:

@foreach (AdminSummary adminSummary in @Model.AdminSummaries) {
                index++;
                <div class="rep_tr0">
                    <div class="rep_td0" id="rk_@(index)">@adminSummary.RowKey</div>
                    <div class="rep_td0"><a href="/Administration/Products/Edit?&ac=@Model.Meta.AccountID&pr=@Model.Meta.ProductID&pa=@adminSummary.RowKey">Edit</a></div>            
                    <div class="rep_td0"><a href="/Administration/Products/Delete?&ac=@Model.Meta.AccountID&pr=@Model.Meta.ProductID&pa=@adminSummary.RowKey">Delete</a></div>  
                    <div class="rep_td0">@Html.DropDownListFor(??, ??)</div>
                    </div>
            }

У меня также есть следующий класс:

public static class AdminStatusReference
    {

        public static IEnumerable<SelectListItem> GetAdminStatusOptions()
        {
            return new[]
                {
                    new SelectListItem { Value = "1", Text = "Released"  },
                    new SelectListItem { Value = "2", Text = "Review" },
                    new SelectListItem { Value = "3", Text = "New" }
                };
        }

}

Что я не уверен, так это как я могу связать их. Я знаю, что в модели я могу хранить список параметры статуса примерно такие:

vm.StatusList  = GetAdminStatusOptions();

Но как мне создать выпадающий список? Я очень смущен всеми опциями DropDownList и DropDownListFor. Что я должен использовать и как я могу отправить в списке статусов?

1 Ответ

1 голос
/ 29 декабря 2011

Что я не уверен, так это то, как я могу связать их.

Это будет зависеть от того, как выглядит модель.

Но вот что вы могли бы сделать:

@for (var index = 0; index < Model.AdminSummaries.Count; index++)
{
    <div class="rep_tr0">
        <div class="rep_td0" id="rk_@(index)">
            @Model.AdminSummaries[index].RowKey
        </div>
        <div class="rep_td0">
            @Html.DropDownListFor(
                x => x.AdminSummaries[index].Status,
                AdminStatusReference.GetAdminStatusOptions()
            )
        </div>
        <div class="rep_td0">
            @Model.AdminSummaries[index].Title
        </div>
    </div>
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...