2012-03-01 33 views
1

我想數據綁定一些信息中繼器,但它似乎展示我的數據,但不能在路上,我期望ASP.Net的LINQ數據綁定不顯示數據如預期

這裏的數據I 「M越來越

 Value  Xml  HasAttributes HasElements  IsEmpty Value 
     1  1    False   False  False  1 
12/12/2006  1    False   False  False  1 

但我想要得到的數據是這樣的

 ADULTS   DEPARTURE_DATE 
      1    12/12/2006 

這裏是我的LINQ和ASP.Net

Dim xel = XElement.Parse(xmlstring) 

Dim flights = xel.Descendants("Flights")    
Dim tests = flights.Where(Function(f) DateTime _ 
.Parse(f.Descendants("DEPARTURE_DATE").Value).Date <= DateTime.Now.Date) _ 
.OrderBy(Function(f) f.Descendants("DEPARTURE_DATE").Value)_ 
.ThenBy(Function(f) f.Descendants("DEPARTURE_TIME").Value) 

CType(e.Item.FindControl("Repeater"), Repeater).DataSource = tests _ 
.Descendants().Elements() 
CType(e.Item.FindControl("Repeater"), Repeater).DataBind() 

下面是一些示例XML

<booking> 
    <travel> 
     <flights> 
      <flight id="1"> 
       <adults>1</adults> 
       <departure_date>12/12/2006</departure_date> 
       <departure_time>08:05</departure_time> 
      </flight> 
     </flights> 
    </travel> 
</booking> 

字符串xmlstring高於XML。

這裏是我的中繼

<asp:Repeater ID="Repeater" runat="server"> 
    <ItemTemplate> 

     <%# DataBinder.Eval(Container.DataItem, "DEPARTURE_DATE") %> 

    </ItemTemplate> 
</asp:Repeater> 

它只是不斷說有這樣的數據源

任何想法這是怎麼可能的,如果它是沒有現場:DEPARTURE_DATE?

回答

1

試着改變你的查詢,這樣的事情...

.Select(Function(f) new with { .DEPARTURE_DATE = f.Descendants("DEPARTURE_DATE").Value }) 
0

與此

<%# DataBinder.Eval(Container.DataItem, "DEPARTURE_DATE") %> 

否則,更改代碼 更改查詢

.select(p=> new DATE =DEPARTURE_DATE) 
+0

感謝您的建議 - 最上面的一個不起作用,這是我在錯誤的字段名稱後的錯誤 - 第二個我可以沒有去上班,它只是繼續說預計表達? – 2012-03-02 08:48:49