2016-06-17 32 views
0

Я создал список объектов в контроллере, и я хотел бы показать одно из свойств в DropDownList. Это мой контроллер:Использование @ Html.DropDownListFor

public class HomeController : Controller 
    { 
     public ActionResult Index() 
     { 
      List<Product> product = new List<Product>(); 

      product.Add(new Product() { ProductId = 1, Name = "apple", Price = 1.09 }); 
      product.Add(new Product() { ProductId = 2, Name = "peach", Price = 1.57 }); 
      product.Add(new Product() { ProductId = 3, Name = "banana", Price = 1.15 }); 
      product.Add(new Product() { ProductId = 4, Name = "watermelon", Price = 4.50 }); 
      product.Add(new Product() { ProductId = 5, Name = "melon", Price = 5.06 }); 
      product.Add(new Product() { ProductId = 6, Name = "strawberries", Price = 6.99 }); 
      product.Add(new Product() { ProductId = 7, Name = "raspberries", Price = 2.20 }); 

      return View(product); 
     } 
    } 

И я пытаюсь использовать его в своем представлении ниже, но он возвращает false. Как я могу использовать helper @ Html.DropDownListFor?

@foreach(var name in Model.Name) 
    { 
     @Html.DropDownListFor(name.Name ,name.ToString()) 
    } 
+0

Вначале это не скомпилировалось, потому что нет объекта с именем 'produkt' –

+0

Возможный дубликат [MVC3 DropDownListFor - простой пример?] (Http://stackoverflow.com/questions/7142961/mvc3-dropdownlistfor- a-simple-example) –

+0

вы просто выглядите ng для создания выпадающего списка со всеми значениями в списке 'product' в качестве параметров? – SOfanatic

ответ

0

уступи идти :)

@model App.Models.Model 

@Html.DropDownListFor(x => x.ProductId, new SelectList(Product, "Name", "Price")) 
2

Я предполагаю, что для класса продукта выглядит следующим образом:

public class Product 
{ 
    public int ProductId { get; set; } 
    public string Name { get; set; } 
    public double Price { get; set; } 
} 

И давайте скажем, что у вас есть следующие модели:

public class ProductModel 
{ 
    public int MyProductId { get; set; } 
} 

И, наконец, вы создали d список продуктов (как вы показали)

List<Product> product = new List<Product>(); 

      produkt.Add(new Product() { ProductId = 1, Name = "apple", Price = 1.09 }); 
      produkt.Add(new Product() { ProductId = 2, Name = "peach", Price = 1.57 }); 
      produkt.Add(new Product() { ProductId = 3, Name = "banana", Price = 1.15 }); 
      produkt.Add(new Product() { ProductId = 4, Name = "watermelon", Price = 4.50 }); 
      produkt.Add(new Product() { ProductId = 5, Name = "melon", Price = 5.06 }); 
      produkt.Add(new Product() { ProductId = 6, Name = "strawberries", Price = 6.99 }); 
      produkt.Add(new Product() { ProductId = 7, Name = "raspberries", Price = 2.20 }); 

По вашему мнению вы можете создать выпадающий список, как так:

@model ProductModel 

@Html.DropDownListFor(n => n.MyProductId, 
         new SelectList(product, "ProductId", "Name")) 

Для получения дополнительной информации вы можете посмотреть на this article