SQLDataSource внутри ASPxGridView - вводить данные через Eval () - PullRequest
0 голосов
/ 26 июля 2011

У меня есть ASPX GridView с DetailsRow, который мне нужен, чтобы отобразить некоторую информацию в расширенной строке, а также возможность добавить некоторые данные.Моя проблема сейчас заключается в том, чтобы выбрать правильные данные при расширении DetailsRow.Это мой шаблон кода:

  <Templates>
       <DetailRow>
           <asp:Repeater DataSourceID="ConversationsDataSource" runat="server">
           <ItemTemplate>
           <p>Foobar</p>
           </ItemTemplate>
           </asp:Repeater>
           <asp:SqlDataSource SelectCommand='SELECT Subject, Message FROM [Fedmekirurgi].[dbo].[MessageSystem.Message] WHERE ConversationID = @ID %>'
                        runat="server" ID="ConversationsDataSource" ConnectionString="<%$ ConnectionStrings:Fedmekirurgi %>">
            <SelectParameters>
                <asp:Parameter Name="ID" Type="Int32" />
            </SelectParameters>
            </asp:SqlDataSource>
            <dx:ASPxMemo ID="ASPxMemo1" runat="server" Height="71px" Width="470px">
            </dx:ASPxMemo>
        </DetailRow>
   </Templates>

Моя проблема в том, что я просто ради жизни не могу вставить соответствующий параметр в мой SqlDataSource.По сути, если бы я мог просто сделать:

                    <asp:SqlDataSource SelectCommand='SELECT Subject, Message FROM [Fedmekirurgi].[dbo].[MessageSystem.Message] WHERE ConversationID = <%# Eval("ID") %>'
                        runat="server" ID="ConversationsDataSource" ConnectionString="<%$ ConnectionStrings:Fedmekirurgi %>">

, это бы послужило моим потребностям!

Итак, как мне "внедрить" данные, полученные из Eval (), в SqlDataSource?1009 *

1 Ответ

3 голосов
/ 27 июля 2011

Не уверен, откуда эти данные поступают, но у вас есть возможность передавать параметры в SQLDataSource из QueryString, Cookie, Session, Form, Control, Route и Profile. Например, вот SQLDataSource, собирающий их из QueryString:

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:ChinookConnectionString %>" 
        SelectCommand="SELECT [CustomerId], [FirstName], [LastName], [Country], [Phone], [Email] FROM [Customer] WHERE ([CustomerId] &gt;= @CustomerId)">
        <SelectParameters>
            <asp:QueryStringParameter DefaultValue="0" Name="CustomerId" 
                QueryStringField="custid" Type="Int32" />
        </SelectParameters>
    </asp:SqlDataSource>

Что касается передачи значения eval на стороне клиента, я не уверен, что это возможно, потому что SQLDataSource является серверным элементом управления (т. Е. Runat = server), и он связывает данные на стороне сервера перед его обработкой для клиента. браузер.

Для Master-detail, проверьте эти ресурсы, которые могут помочь вам:

Надеюсь, это поможет, спасибо.

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