MVC3 DropDownList 和 ViewBag。如何将新项目添加到集合中

发布于 2024-12-07 21:33:09 字数 625 浏览 0 评论 0原文

我在使用 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)

:) 发送帮助

I got a little problem with ViewBag and DropDownListFor. Code below Working fine but i need add 'by hand' one item with value 0. Any ideas how i can do this ?

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 for help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拥有 2024-12-14 21:33:09

我使用静态方法来构建 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"})

I use a static method for building the SelectList. Somewhere in the model put something like:

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;
        }

In your wiew you refer to this via

@Html.DropDownListFor(x => x.Field, ModelClass.MakeSelectListUtenti(Model.Destinations), new { id="Destinations"})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文