MVC3 DropDownList и ViewBag. Как добавить новые предметы в коллекцию - PullRequest
0 голосов
/ 05 октября 2011

У меня небольшая проблема с ViewBag и DropDownListFor.Код ниже Работает нормально, но мне нужно добавить «вручную» один элемент со значением 0. Любые идеи, как я могу это сделать?

public ActionResult Create()
{

            ViewBag.ParagrafyRodzic = paragrafRepository.All;

            return View();
}

@Html.DropDownListFor(model => model.ParagrafID, ((IEnumerable<Projekty03.Models.Paragraf>)ViewBag.ParagrafyRodzic)
.Select(option => new SelectListItem
{
    Text = option.ParagrafNazwa.ToString(),
    Value = option.ParagrafID.ToString(),
    Selected = (Model != null) && (option.ParagrafID == Model.ParagrafParent)
}),Translate.ChooseList)

:) Tx для помощи

1 Ответ

1 голос
/ 05 октября 2011

Я использую статический метод для построения SelectList.Где-то в модели поместите что-то вроде:

public static SelectList MakeSelectListDipendenze(SomeCollectionColl, bool emptyElem = true)
        {
            List<SelectListItem> Items = new List<SelectListItem>();
            if (emptyElem)
                Items.Add((new SelectListItem { Text = " ", Value = "-1" }));
            foreach (ElemInCollection Item in Coll)
            {
                SelectListItem AddMe = new SelectListItem();
                AddMe.Text = Item.Description;
                AddMe.Value = Item.Id.ToString();
                Items.Add(AddMe);
            }
            SelectList Res = new SelectList(Items, "Value", "Text");
            return Res;
        }

В своем обзоре вы ссылаетесь на это через

@Html.DropDownListFor(x => x.Field, ModelClass.MakeSelectListUtenti(Model.Destinations), new { id="Destinations"})
...