ここでデータバインディングの構文に苦労しています。たとえば、私はこのようなデータ構造を持っています -
public class Course{
public string CourseName {get;set;}
public string CourseCode {get;set;}
public List<Instructor> InstructorsTeaching{get;set;}
}
public class Instructor{
public string InstructorName{get;set;}
public string InstructorCode{get;set;}
}
この List Courses をバインドして、グリッドビューを手動で表示するようにするには、次のようにします。
<asp:TextBox runat="server" ID="tbCourseName" Text='<%# Bind("CourseName")%>'/>
グリッドの編集テンプレートを指定しているときに、Instructors のティーチング プロパティをバインドして、同じ行に ListBox を指定する方法を教えてください。構文がわかりません。
<asp:ListBox runat="server" ID="tbInstructors"
DataSource='<%# Eval("InstructorsTeaching") as List<Instructor> %>'>
<asp:ListItem Text='<%# Bind("InstructorCode")%>'
Value='<%# Bind("InstructorName")%>'/>...
<as:ListBox/>
上記のコードは確かに機能しません:)。理想的には、コード ビハインドではなくマークアップでこれを行いたいと考えています。