0

コントローラーにあるものは次のとおりです。

        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 -> CategoryName

public class Category {int idParent, string name, int id}

私はこのように試しました:

ViewData["categories"] = new SelectList(cat, "id", "idParent" + "name");

しかし、それは機能していません。何か考えはありますか?

4

1 に答える 1

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");   

このコードを必要に応じて調整する必要があるかもしれませんが、アイデアが得られるはずです。

于 2012-04-08T19:20:58.290 に答える