2011-07-26 12 views
0

私は、拡張された行に関する情報とデータを追加する機会を表示する必要があるDetailsRowを持つASPX GridViewを持っています。今私の問題は、DetailsRowが展開されたときに正しいデータをSELECTしていることです。ASPxGridView内のSQLDataSource - Eval()を使用してデータを挿入します。

<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コントロールに注入され、関連するPARAMTERを得ることができないためということです。これは私のテンプレートコードです。基本的に、私ができるのであれば:

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

それは私の必要性を満たすでしょう!

私はEval()から取得したデータをSqlDataSourceにどのように「注入する」のですか?

答えて

3

QueryString、Cookie、セッション、フォーム、コントロール、ルート、およびプロファイルからSQLDataSourceにパラメータを渡すオプションがあるかどうかはわかりません。たとえば、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コントロールは、サーバ・コントロール(IE用にrunat =サーバー)であり、それはレンダリングの前に、サーバー側でデータを結合するのでそれが可能であるかわかりませんそれはクライアントブラウザ用です。マスター・ディテールについては

、あなたを助けることができるこれらのリソースをチェックアウト:

希望、感謝を助けます。

+0

ありがとうございます!ビデオが本当に助けになった! SessionParameterでこれを行う必要があるのは奇妙に思えます。/ – Fafnr

+0

問題はありません。うまくいけばうれしいです。 :) – Mehul

関連する問題