我在数据源中的中继器中得到错误

本文关键字:错误 中继器 数据源 | 更新日期: 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;