2012-03-01 74 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