簡體   English   中英

選擇頁面加載時列表框中的所有項目

[英]Select all items in listbox on page load

在我的MVC應用程序中,我將基於ID檢索對象列表,並將這些對象通過SelectList填充到Listbox中。 這是我所擁有的:


C#

ViewBag.SpecCatListBox = new SelectList(SelectListMethods.LstChosenSpecCat(incidentVm.ID), "Value", "Text");

HTML /剃刀

@Html.ListBoxFor(model => model.LstSpecialCategories, (SelectList)ViewBag.SpecCatListBox, new { id = "SpecialCat-ListBox", @class = "form-control" })

在頁面加載時,列表框將填充正確的選項,但未選中它們。 有沒有一種方法可以不循環(這是我在其他帖子中看到的)?

任何幫助表示贊賞。

UPDATE

我已經編輯了一些內容,並添加了一行代碼。

C#

ViewBag.SpecCatListBox = new SelectList(SelectListMethods.LstChosenSpecCat(incidentVm.ID), "Value", "Text", SelectListMethods.LstChosenSpecCat(incidentVm.ID));
ViewBag.SpecCatIds = db.TBL_AssocIncidentSpecialCat.Where(x => x.IncidentId == incidentVm.ID)
    .Select(x => x.SpecialCategoriesId).ToList();

HTML /剃刀

@Html.ListBoxFor(model => model.LstSpecialCategories, new MultiSelectList(ViewBag.SpecCatListBox, "Value", "Text", ViewBag.SpecCatIds), new { id = "SpecialCat-ListBox", @class = "form-control" })

這是根據需要選擇所有選項,但是有沒有辦法不使用2個Viewbag對象?

我已經弄清楚了。

C#

ViewBag.SpecCatListBox = new MultiSelectList(SelectListMethods.LstChosenSpecCat(incidentVm.ID), "Value", "Text", SelectListMethods.LstChosenSpecCat(incidentVm.ID).Select(x => x.Value));

HTML /剃刀

@Html.ListBoxFor(model => model.LstSpecialCategories, (MultiSelectList)ViewBag.SpecCatListBox, new { id = "SpecialCat-ListBox", @class = "form-control" })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM