私は自分のプログラムで問題に直面しています。それを実行すると、「DataBinding: 'System.Data.DataRowView' には 'StudentName' という名前のプロパティが含まれていません。」というエラーが表示されます。
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolderSubMenu" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolderMainContent" Runat="Server">
<table>
<tr>
<td style="width:150px;">Courses</td>
<td style="width:20px">:</td>
<td>
<asp:DropDownList ID="DropDownListCourses" runat="server"></asp:DropDownList>
</td>
</tr>
<tr>
<td style="width:150px;"></td>
<td style="width:20px"></td>
<td>
<asp:Button ID="ButtonView" runat="server" Text="Veiw"
onclick="ButtonView_Click"/>
</td>
</tr>
</table>
<div style="padding-top:30px"></div>
<table>
<asp:Repeater ID="RepeaterDataVeiw" runat="server">
<HeaderTemplate>
<table>
<tr>
<td>Student Name</td>
<td>Course</td>
<td>Subject</td>
<td>Veiw</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("StudentName")%></td>
<td><%#Eval("CourseName")%></td>
<td><%#Eval("SubjectName")%></td>
<td><a href="ListForum.aspx">Forum</a></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr>
<td><%#Eval("StudentName")%></td>
<td><%#Eval("CourseName")%></td>
<td><%#Eval("SubjectName")%></td>
<td><a href="ListForum.aspx">Forum</a></td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</table>
</asp:Content>
分離コード:
public partial class Student_ListCourses : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (!IsPostBack)
{
System.Data.DataTable dt;
BusinessLayer.CoursesController oCourse = new BusinessLayer.CoursesController();
dt = oCourse.Select();
DropDownListCourses.DataSource = dt;
DropDownListCourses.DataValueField = "CourseID";
DropDownListCourses.DataTextField = "CourseName";
DropDownListCourses.DataBind();
}
}
}
protected void ButtonView_Click(object sender, EventArgs e)
{
try
{
System.Data.DataTable dt;
BusinessLayer.SubjectsController oCourse = new BusinessLayer.SubjectsController();
oCourse.CourseID = int.Parse(DropDownListCourses.SelectedValue);
dt = oCourse.Select();
RepeaterDataVeiw.DataSource = dt;
RepeaterDataVeiw.DataBind();
}
catch (Exception ex)
{ }
}
}