1

私の問題はかなり単純です。ユーザーとのドロップダウンがあるとしましょう。データベースには、ユーザーテーブル用に 3 つのフィールドがあります。

 user_id
 user_name
 user_firstname

私の MVC アプリでは、それらのユーザーをプロジェクトにリンクしたいと考えています。だから私はドロップダウンが欲しいのです。

今、IDを値として、名と姓を「テキスト」にする選択リストが必要です

  SelectList sl = new SelectList(users, "user_id", "user_name");

今、どうすればテキストにもファーストネームを取得できますか? これはかなり簡単なはずですが、そうではないようです...

4

2 に答える 2

6

LINQ を使用して、ユーザーのリストを のリストに変換しますSelectListItem

var selectOptions = 
    from u in yourUserQuery
    select new SelectListItem { 
        Value = u.user_id, 
        Text = u.user_firstname + " " + u. user_name 
    };

その後、それを適切と思われる に変換できSelectListます。私は個人的に の.ToSelectList()拡張メソッドを定義するのが好きですIEnumerable<SelectListItem>が、それぞれ独自のものです。

于 2010-02-25T19:50:16.080 に答える
1

必要な形式でデータベースからリストを作成する必要があります。これは、データベースが DataTable に読み込まれた後に行ったことです。

        IList<UsrInfo> MyResultList = new List<UsrInfo>();
        foreach (DataRow mydataRow in myDataTable.Rows)
        {
            MyResultList.Add(new UsrInfo()
            {
                Usr_CD = mydataRow["USR_NR"].ToString().Trim(),
                Usr_NA = mydataRow["USR_NA_LAST"].ToString().Trim() + " , " +
                         mydataRow["USR_NA_FIRST"].ToString().Trim()
            });
        }

        return new SelectList(MyResultList, "Usr_CD", "Usr_NA");
于 2010-02-25T16:05:45.337 に答える