以下是我在控制器中的内容:
Category x = new Category(1, "one", 0);
Category y = new Category(2, "two", 1);
List<Category> cat = new List<Category>();
cat.Add(x);
cat.Add(y);
ViewData["categories"] = new SelectList(cat, "id", "name");
我的观点:
<%= Html.DropDownList("categories")%>
但是,我的类Category有一个名为idParent的属性。我希望下拉列表是这样的值字段:ParentName - &gt;类别名称
public class Category {int idParent, string name, int id}
我试过这样:
ViewData["categories"] = new SelectList(cat, "id", "idParent" + "name");
但它不起作用。你有什么想法吗?
答案 0 :(得分:1)
向Category
类添加属性以返回所需的值。
public class Category
{
int idParent;
string name;
int id;
public Category(int idParent, string name, int id)
{
this.idParent = idParent;
this.name = name;
this.id = id;
}
public string FormattedName
{
get {return string.format("{0}->{1}", this.idParent, this.name);}
}
}
然后您的SelectList构造函数变为:
ViewData["categories"] = new SelectList(cat, "id", "FormattedName");
您可能需要根据需要调整此代码,但它应该为您提供想法。