Привязка данных ASP.Net Linq не показывает данные, как ожидается - PullRequest
1 голос
/ 01 марта 2012

Я пытаюсь привязать некоторую информацию к ретранслятору, но, похоже, он показывает мне данные, но не так, как я ожидал

Вот данные, которые я получаю

     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

Есть идеи, как это возможно, если это так?

Ответы [ 2 ]

1 голос
/ 02 марта 2012

Попробуйте изменить запрос на что-то вроде этого ...

.Select(Function(f)  new with { .DEPARTURE_DATE = f.Descendants("DEPARTURE_DATE").Value })
0 голосов
/ 01 марта 2012

Измените свой код с помощью этого

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

Else Измените свой запрос

.select(p=> new DATE =DEPARTURE_DATE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...