-2

エンティティからのドロップダウンリスト値を組み合わせることができますか?

家系の名前と名の人のクラスがあるとします

私はこれをやってみました:

ViewBag.uservalues = new SelectList(db.Persons, "ID", "FirstName" + " " + "LastName");

しかし、これはエラーを吐き出します。

4

3 に答える 3

2

SelectListコンストラクターへの呼び出し

new SelectList(db.Persons,"ID", "FirstName"+" " + "LastName");

このオーバーロードを使用します。これには、バインドするパブリックフィールドまたはプロパティの名前が必要ViewModelです。おそらく、ViewModelに「FirstNameLastName」という名前のフィールドまたはプロパティがありません。

ViewModel2つのフィールドを連結するプロパティをクラスに追加し(それを呼び出しますFirstAndLastName)、呼び出しでそのプロパティを名前で指定しますSelectList

new SelectList(db.Persons,"ID", "FirstAndLastName");
于 2013-03-04T23:24:19.380 に答える
0
var query = from c in db.Persons
            select new { id = c.ID,Names = c.FirstName + " " + c.LastName };

ViewBag.personid = new SelectList(query, "ID", "Names");
于 2013-03-04T23:29:21.993 に答える
0

エンティティ フレームワークは部分クラスを作成するため、使用する派生プロパティを持つ同じ名前空間に別の部分クラスを作成する必要があります。

エンティティ フレームワークがクラ​​スを作成した場合:

public partial class Person
{
    public String FirstName {get;set;}
    public String LastName{get;set;}
    public Int32 ID{get;set;}
}

新しい部分クラスを作成する

public partial class Person
{
    public String FullName {get{ return this.FirstName + " " + this.LastName}}
}

プロジェクトのどこかにある別のフォルダーに保存します(ただし、名前空間は同じです)

于 2013-03-04T23:26:08.547 に答える