6

テキストに複数の値を表示しようとしていdropdownlistます。以下に例を示します。

SelectList(Parts, "pno", "pcode"+"pname")

どこ

pnoは品番です。

pcodeパーツコードです。

pnameは部品名

ビューモデルを使用せずにパーツコードと名前を連結する方法を教えてください(ドメインモデルを使用して実行したい)。

4

2 に答える 2

8

Microsoftのドキュメントによると、SelectList(IEnumerable、String、String)は、リスト、データ値フィールド、およびデータテキストフィールドに指定された項目を使用して、SelectListクラスの新しいインスタンスを初期化します。

http://msdn.microsoft.com/en-us/library/system.web.mvc.selectlist%28v=vs.108%29.aspx

これを行うには、名前をモデルの新しいプロパティに連結する必要があります。以下の8アップのスタックオーバーフローの答えは、これを行うための私のお気に入りの方法です。

SelectListテキストの説明で2つのフィールドを組み合わせるにはどうすればよいですか?

あなたの場合、それはこのように見えるでしょう...

public class Model
{
    public string pcode { get; set; }
    public string pname { get; set; }
    public string ConcatDescription { get; set; }

    public string ConcatDescription 
    {
        get 
        {
            return string.Format("{0} {1}", pcode , pname );
        }
    }
}

次に、そのプロパティを直接呼び出すことができます。

SelectList(Parts, "pno", "ConcatDescription ")

編集:明確にするためにコードに追加されました。

于 2013-01-25T19:19:23.870 に答える
4

これが役立つかどうかはわかりません。ac# の観点では、クラスを次のように構成できます

public class Parts
{
    public string PartCode { get; set; }

    public string PartName { get; set; }

    public string PartNo
    {
        get
        {
            return PartCode + PartName;
        }
        set;
    }
}

そして、次のような選択リストを使用します。

SelectList(Parts, "PartNo")
于 2013-01-25T19:20:55.633 に答える