2016-06-17 23 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); 
     } 
    } 

我嘗試將它用於我的View下面,但它返回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-一個簡單的例子) –

+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