вложенный подзапрос LINQ XML не отображает значения из корневого запроса в списке просмотра asp.net? - PullRequest
0 голосов
/ 23 сентября 2010
        var subfacets = from l in facets.Descendants("Facet")
                    let FacetName = l.Attribute("Name").Value
                    let DisplayedFacetAttr = l.Attribute("DisplayedName")
                    select new
                    {
                        DisplayedFacetName = (DisplayedFacetAttr != null) ? DisplayedFacetAttr.Value : FacetName,
                        FacetName,
                        SubFacets = (from x in l.Descendants("SubFacet")
                                 let SubFacetName = x.Attribute("Name").Value
                                 let DisplayedSubFacetAttr = x.Attribute("DisplayedName")
                                 select new {
                                     FacetName,
                                     SubFacetName = (DisplayedSubFacetAttr != null) ? DisplayedSubFacetAttr.Value : SubFacetName,
                                     SubFacetCount = x.Attribute("Count").Value
                                 }).Take(dispitems.ContainsKey(FacetName) ? dispitems[FacetName] : defitemcount)
                    };

Я немного озадачен этим ... Я использую результаты этого во вложенном Listview, и значение FacetName во внутреннем "select new" не заполняется ... оно пустое. Я не могу понять, если это ошибка в элементе управления списком asp.net 3.5 или запрос linq является неправильным. В отладчике FacetName выглядит прямо в подзапросе, так это ошибка в ListView?

Вот код Listview:

    <asp:ListView runat="server" ID="FacetList"
  ItemPlaceholderID="PlaceHolder2">
  <LayoutTemplate>
      <asp:PlaceHolder runat="server" ID="PlaceHolder2" /> 
  </LayoutTemplate>

  <ItemTemplate>
    <h1><%# Eval("DisplayedFacetName") %></h1>

      <asp:ListView runat="server" ID="SubFacetList"
        ItemPlaceholderID="PlaceHolder3"
          DataSource='<%# Eval("SubFacets") %>'>
          <LayoutTemplate>
            <ul id='<%# Eval("FacetName") %>'>
              <asp:PlaceHolder runat="server" ID="PlaceHolder3" />
              <li class="morefacets"><a href='#' onclick="ekt_MoreFacets('<%# Eval("FacetName") %>')">More...</a></li>
            </ul>
          </LayoutTemplate>
          <ItemTemplate>
            <li>
              <div class="nowrap">
              <input type="checkbox" name='<%# Eval("FacetName") %>' value='<%# Eval("SubFacetName") %>' />
              <a href='<%# Eval("SubFacetName") %>'><%# Eval("SubFacetName")%></a> (<%# Eval("SubFacetCount")%>)
              </div>
            </li>
          </ItemTemplate>
      </asp:ListView>
  </ItemTemplate>
</asp:ListView>

1 Ответ

0 голосов
/ 23 сентября 2010

К вашему сведению, это похоже на ошибку просмотра списка.Вот хак вокруг :-P http://bytes.com/topic/asp-net/answers/536803-finding-parent-control-value-nested-datalist-c

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...