2014-09-22 38 views
-3

即時得到錯誤在中繼器與中繼器在數據源

<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的」不能發現(你是否缺少使用指令或裝配參考?)

請任何一個幫我

+0

添加這個命名空間'使用System.Data;' – 2014-09-22 07:44:33

回答

0

代碼隱藏(.cs)和Page(.aspx)文件具有自己的類,因此它們也具有單獨的導入。在這種情況下,你在你的ASPX視圖頂部缺少進口:

<%@ Import Namespace="System.Data" %> 

這是因爲你在ASPX視圖鑄造的Container.DataItem到DataRowView的需要。

另外請確保您有使用語句代碼隱藏文件中,以及:

Using System.Data;