我在数据源中的中继器中得到错误
本文关键字:错误 中继器 数据源 | 更新日期: 2023-09-27 18:23:48
<b><%# DataBinder.Eval(Container.DataItem, "Hotel_FloorId")%></b>
<b><%# DataBinder.Eval(Container.DataItem, "Hotel_FloorName")%></b>
<br>
<asp:repeater id="childRepeater" runat="server" datasource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows ("myrelation") %>' >
<itemtemplate>
<%# DataBinder.Eval(Container.DataItem, "['"RoomDoorNo'"]")%><br>
</itemtemplate>
</asp:Repeater>
</itemtemplate>
protected void Page_Load(object sender, EventArgs e)
{
string css = ConfigurationManager.ConnectionStrings["CS"].ConnectionString;
SqlConnection cnn = new SqlConnection(css);
cnn.Open();
SqlDataAdapter cmd1 = new SqlDataAdapter("SELECT * FROM HM_Hotel_Floor", cnn);
DataSet ds = new DataSet();
cmd1.Fill(ds, "Floors");
parentRepeater.DataSource = ds.Tables["Floors"];
SqlDataAdapter cmd2 = new SqlDataAdapter("select * from HM_Rooms", cnn);
cmd2.Fill(ds, "Rooms");
ds.Relations.Add("myrelation", ds.Tables["Floors"].Columns["Hotel_FloorId"], ds.Tables["Rooms"].Columns["Hotel_FloorId"]);
Page.DataBind();
}
错误是编译器错误消息:CS0246:找不到类型或命名空间名称"DataRowView"(是否缺少using指令或程序集引用?)
请任何人帮助我
Code-behind(.cs)和Page(.aspx)文件有自己的类,因此它们也有单独的导入。在这种情况下,您在ASPX视图顶部缺少一个导入:
<%@ Import Namespace="System.Data" %>
这是必需的,因为您要在ASPX视图中将Container.DataItem强制转换为DataRowView。
此外,请确保在代码隐藏文件中也有using语句:
Using System.Data;