0

リストボックスにデータを入力したいので、ListBoxItem の配列を定義する必要があります。データはデータベースに保存されます。

これは私の元の方法です:

public IEnumerable<String> GiveStudentsNormalAsString(int lesson, int class)
    {
        Lesson l = giveLesson(lesson);
        Class c = GiveClass(l, class);
        return (from s in c.Students
                orderby s.Name, s.FirstName
                select s.Name);
    }

したがって、「クラス」には生徒のリスト (ナビゲーション プロパティ) が含まれます。私がやりたいのは、文字列の IEnumerable を返すのではなく、SelectListItems の IEnumerable を返すことです。

私はすでに始めました:

public IEnumerable<SelectListItem> GiveStudentsNormalAsString(int lesson, int class)
    {
        Lesson l = giveLesson(lesson);
        Class c = GiveClass(l, class);
        return .Select(student => new SelectListItem
        {
            Text = ...
            Value = ...
        };
    }

しかし、テキストと値として何を書かなければなりませんか? たとえば、学生番号を値として機能させたいのですが、どうすればよいですか?

これが私のedmxです:EDMX 1

4

1 に答える 1

0

studentをビルドするときに変数を参照するだけですSelectListItem

public IEnumerable<SelectListItem> GiveStudentsNormalAsString(int lesson, int class)
{
    Lesson l = giveLesson(lesson);
    Class c = GiveClass(l, class);
    return c.Students.Select(student => new SelectListItem
    {
        Text = student.Name,
        Value = student.Number.ToString()
    });
}

もちろん、必要に応じて LINQ 構文を使用して記述することもできます。

public IEnumerable<SelectListItem> GiveStudentsNormalAsString(int lesson, int class)
{
    Lesson l = giveLesson(lesson);
    Class c = GiveClass(l, class);
    return (from student in c.Students
            select new SelectListItem
            {
                Text = student.Name,
                Value = student.Number.ToString()
            });
}
于 2011-08-10T16:38:46.070 に答える