1

私には以下のようなカスタムクラスの学生がいます:

     public class Student
     {
         public string Name {get;set;}
         public string GuardianName {get;set;}
     }

今、私は次のデータ構造で入ってくるデータを持っています

      IList<Student> studInfo=new List<Student>();

このデータをビューバッグに入れました

      Viewbag.db=studInfo;

ビューページで使用しようとすると

    <table>
       <thead>
            <tr>
                 <td>Name</td>
                 <td>Guardian Name</td>
            </tr>
        </thead>

     @foreach(var stud in ViewBag.db)
     {
          <tr>
              <td>@stud.Name</td>
              <td>@stud.GuardianName</td>
          </tr>

     }
    </table>

エラーがあり、

Cannot implicitly convert type 'PuneUniversity.StudInfo.Student' to 'System.Collections.IEnumerable'

PuneUniversityは私の名前空間であり、StudInfoはアプリケーション名です。解決策を提案してください。前もって感謝します

4

1 に答える 1

1

次の行はコンパイルされない可能性があります。

IList<Student> studInfo = new IList<Student>();

インターフェイスのインスタンスを作成することはできません。したがって、実際のコードはここに示したものとは異なると思います。

また、ViewBag の代わりに厳密に型指定されたビューを使用することをお勧めします。

public ActionResult SomeAction()
{
    IList<Student> students = new List<Student>();
    students.Add(new Student { Name = "foo", GuardianName = "bar" });
    return View(students);
}

ビューを強く型付けします。

@model IEnumerable<Student>

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Guardian Name</th>
        </tr>
    </thead>
    <tbody>
    @foreach(var stud in Model)
    {
        <tr>
            <td>@stud.Name</td>
            <td>@stud.GuardianName</td>
        </tr>
    }
    </tbody>
</table>
于 2012-11-23T12:04:39.453 に答える