2015-11-28 4 views
1
IEnumerable<Product> Get(); 

Я получаю вещи и создать коллекцию этого объектыУстановить выбранный элемент в SelectList

public class Product 
    { 
     public int? ProductId { get; set; } 
     public string ProductName { get; set; } 
    }  

Name = new SelectList(Get(), "ProductId", "ProductName", model.Id) 

@Html.DropDownListFor(m => m.Id, Model.Name) 

В модели

public int Id { get; set; } 

public SelectList Name { get; set; } 

Всегда на странице выбранного пункта является первым товаром

Как может установить выбранный элемент по model.Id?

+0

Я не уверен, каков ваш вопрос? В чем проблема? –

+0

@KarlGjertsen edit – i545219

+0

Вы поставили контрольную точку на своем контроллере, чтобы узнать, какие значения имеет модель? –

ответ

2

Правильный путь:

@Model.Name = new SelectList(Get(), "ProductId", "ProductName", model.Id) 
@Html.DropDownListFor(m => m.Id, Model.Name) 
+0

Я редактирую вопрос. Я называю имя через модель – i545219

0
Id = smth logic, 
Name = new SelectList(Get(), "ProductId", "ProductName") 

нужно инициализировать Id. Я не сделал это

0

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

public class CreateOrderVM 
{ 
    public SelectList Products{ set; get; } 
    public int? SelectedProduct { set; get; } 
} 

В вашем GET метод действия

public ActionResult Order() 
{ 
    var vm = new CreateOrderVM(); 
    var productList= Get(); 
    vm.Products =new SelectList(productList,"ProductId","ProductName"); 

    vm.SelectedProduct = 2 ; // Replace 2 with the ProductId 
          // of the Product record you want to be selected. 

} 

И ваш взгляд бритвы

@model CreateOrderVM 
@Html.DropDownListFor(s => s.SelectedProduct , Model.Products, "Select") 

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

Смежные вопросы