テキストに複数の値を表示しようとしていdropdownlist
ます。以下に例を示します。
SelectList(Parts, "pno", "pcode"+"pname")
どこ
pno
は品番です。
pcode
パーツコードです。
pname
は部品名
ビューモデルを使用せずにパーツコードと名前を連結する方法を教えてください(ドメインモデルを使用して実行したい)。
テキストに複数の値を表示しようとしていdropdownlist
ます。以下に例を示します。
SelectList(Parts, "pno", "pcode"+"pname")
どこ
pno
は品番です。
pcode
パーツコードです。
pname
は部品名
ビューモデルを使用せずにパーツコードと名前を連結する方法を教えてください(ドメインモデルを使用して実行したい)。
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 ")
編集:明確にするためにコードに追加されました。
これが役立つかどうかはわかりません。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")