2013-11-25 3 views
0

В моем контроллере у меня есть список элементов. что я сохранен в ViewData["Brand"].Доступ к данным из ViewData ["Brand"] in view

На мой взгляд, эти данные ослеплены выпадающим списком.

этот список в поле зрения.

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

Как получить доступ к статьям в ViewData["Brand"].

Вот мой код.

@Html.DropDownList("BrandName", ViewData["BrandName"] as SelectList, "--Select--", new { onchange = "this.form.submit()" }); 

ответ

0

Bind элементы в список и хранятся в ViewData [Фирменные]

Controller Код:

 IList<BrandInfo> brand = new List<BrandInfo>(); 
     int CategoryId = Convert.ToInt32(Request.QueryString["CategoryId"]); 
     productInstance.CategoryId = CategoryId; 
     brand = get****(CategoryId); 
     IList<SelectListItem> BrandNameList = new List<SelectListItem>(); 

     foreach (var item in brand) 
     { 
      SelectListItem sli = new SelectListItem(); 
      sli.Text = item._name; 
      sli.Value = Convert.ToString(item._brandId); 
      if (sli.Value == BrandId.ToString()) 
      { 
       sli.Selected = true; 
      } 
      BrandNameList.Add(sli); 
     } 
     ViewData["BrandName"] = BrandNameList; 

MODEL:

public string BrandName { get; set; } 

Просмотреть код:

@Html.DropDownList("BrandName", ViewData["BrandName"] as SelectList, "-- Select By Brands --") 
0

Сначала вы должны отправить обратно список брендов т.е. _brands будет ваш список брендов заселенных из вашей БД или в другом месте.

var brandId = "1"; 
var brands = _brands.Select(b => new SelectListItem 
      { 
       Value = b.Id.ToString(), 
       Text = b.Name, 
       Selected = brandId.Equals(b.Id.ToString()) 

      }); 

ViewData["BrandId"] = = "1"; 
ViewData["Brands"] = brands; 

Важную роль в вышеописанном:

Selected = brandId.Equals(b.Id.ToString()); 

Это сделает предварительный выбор из списка.

Тогда следующее:

@Html.DropDownList("BrandId", ViewData["Brands"] as SelectList, "--Select--", new { onchange = "this.form.submit()" }); 
Смежные вопросы