Reputation: 344
I created list of objects in controller and I would like show one of property in DropDownList. This is my controller:
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);
}
}
And I try use it into my View below but it return false. How can I use helper @Html.DropDownListFor?
@foreach(var name in Model.Name)
{
@Html.DropDownListFor(name.Name ,name.ToString())
}
Upvotes: 0
Views: 110
Reputation: 2800
I am assuming that for the Product class looks like:
public class Product
{
public int ProductId { get; set; }
public string Name { get; set; }
public double Price { get; set; }
}
And let us say that you have the following model:
public class ProductModel
{
public int MyProductId { get; set; }
}
And finally you have created the list of Products (like you have shown)
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 });
In your view you can create a drop down list like so:
@model ProductModel
@Html.DropDownListFor(n => n.MyProductId,
new SelectList(product, "ProductId", "Name"))
For more info you can have a look at this article
Upvotes: 2
Reputation: 641
Give this a go :)
@model App.Models.Model
@Html.DropDownListFor(x => x.ProductId, new SelectList(Product, "Name", "Price"))
Upvotes: 0