Установить выпадающий элемент выбранным MVC - PullRequest
7 голосов
/ 21 марта 2012

У меня есть несколько раскрывающихся списков для одного и того же списка выбора в виде, и я хочу установить раскрывающийся элемент, выбранный в цикле.

Как установить определенный элемент раскрывающегося списка, выбранный в раскрывающемся списке mvc.

Пожалуйста, помогите.

Ответы [ 4 ]

9 голосов
/ 21 марта 2012

Метод Html.DropDownList принимает несколько параметров, одним из которых является List<SelectListItem>.Отдельный экземпляр SelectListItem - это место, где вы устанавливаете свойство Selected:

var item = new SelectListItem() {

    Selected = /* condition */,

    Value = "Some Value",
    Text = "Some Text"
};

В качестве альтернативы:

Создайте коллекцию SelectList, которая предоставляет доступ кSelectedValue свойство:

Model.YourSelectList = new SelectList(items /* List<SelectListItem> */,
                                      "Value",
                                      "Text",
                                      37 /* selected value */);
2 голосов
/ 21 марта 2012

Использование помощника HTML ListBoxFor.

@Html.ListBoxFor(m => m.MyPropertyId, Model.MySelectList)

Для построения списка элементов вы можете использовать MultiSelectList. Например, в вашем контроллере:

public ActionResult Index()
{
    // Get a collection of all product id's that should be selected.
    int[] productIds = _service.GetSomeProductIds();

    // Make a new select list with multiple selected items.
    ViewBag.List = new MultiSelectList(
        _service.Products, 
        "Id",                   // Name of the value field
        "Name",                 // Name of the display text field
         productIds );          // list of selected product ids

    return View();
}

Тогда по вашему мнению:

@Html.ListBoxFor(m => m.ProductIds, (IEnumerable<SelectListItem>)ViewBag.List)
2 голосов
/ 21 марта 2012

При создании списка SelectList вы можете установить выбранный элемент на построение, используя http://msdn.microsoft.com/en-us/library/dd460123.aspx

. Или вы можете установить его для отдельного SelectListItem через его свойство Selected (http://msdn.microsoft.com/en-us/library/system.web.mvc.selectlistitem.selected.aspx) и использовать однопараметрический конструктор списка выбора или передать его прямо в метод DropDownList.

0 голосов
/ 23 марта 2016

Метод MVC для привязки пользовательского списка к выпадающему списку и динамического выбора элемента, если вам нужна более подробная информация. Комментарий ниже

Создать раздел

@{
   List<SelectListItem> list = new List<SelectListItem>();
   list.Add(new SelectListItem { Text = "SALE", Value = "SAL" });
   list.Add(new SelectListItem { Text = "PURCHASE", Value = "PUR" });
}

<div class="form-group">
    @Html.LabelFor(model => model.SaleOrPurchase, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">           
        @Html.DropDownListFor(model => model.SaleOrPurchase, list, "-- Select Status --", new {@class= "form-control" })
        @Html.ValidationMessageFor(model => model.SaleOrPurchase, "", new { @class = "text-danger" })
    </div>
</div>

РЕДАКТИРОВАТЬ раздел

     List<SelectListItem> list = new List<SelectListItem>();
     list.Add(new SelectListItem { Text = "SALE", Value = "SAL" });
     list.Add(new SelectListItem { Text = "PURCHASE", Value = "PUR" });

     IEnumerable<SelectListItem> myCollection = list.AsEnumerable();

     ViewBag.SaleOrPurchase = new SelectList(myCollection, "Value", "Text", transactionTbl.SaleOrPurchase.ToString().Trim());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...