2012-03-12 5 views
1

私はドロップダウンリストを作成しようとしています。ユーザーは多くの 'Field1'にいる可能性があるので、ドロップダウンでそれらのField1を表示したかったのです。 現在、何が起こるのですか?空リストを取得するだけです。ここでは、コードのサンプルです:私は選択のパラメータと句を削除した場合@parameterを使用するとドロップダウンリストが空に見えます

<asp:SqlDataSource ID="SqlDataSource2" runat="server" 
        ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" 
        SelectCommand="SELECT DISTINCT Field1 FROM table 
            WHERE (Field3= @Field3)"> 
        <SelectParameters> 
         <asp:ControlParameter ControlID="DropDownList1" Name="Field3" Type="String" /> 
        </SelectParameters> 
       </asp:SqlDataSource> 

すべてDHBsのリストが表示されます - ちょうど@フィールド3の問題を持っているようです。

編集:私はSQL Serverでクエリをテストしてきたし、それが(既知の値でフィールド3 @置き換えることで)私の作品

任意の提案ですか?私は非常にasp.netには新しく、.csファイルの中には何も置かれていません(いくつかの承認などのほかに)。そうすれば、人々が私を正しい方向に向けることができればそれは素晴らしいでしょう。

編集2:

<asp:TemplateField HeaderText="Field1" SortExpression="Field2"> 
      <EditItemTemplate> 
       <asp:Label ID="Label2" runat="server" Text='<%# Eval("Field2") %>'></asp:Label> 
      </EditItemTemplate> 
      <ItemTemplate> 
       <asp:DropDownList ID="DropDownList1" runat="server" 
        DataSourceID="SqlDataSource2" DataTextField="Field1" DataValueField="Field1"> 
       </asp:DropDownList> 
       <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
        ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" 
        SelectCommand="Field1 FROM table 
            WHERE (Field3 = @Field3)"> 
        <SelectParameters> 
         <asp:ControlParameter ControlID="DropDownList1" Name="Field3" Type="String" /> 
        </SelectParameters> 
       </asp:SqlDataSource> 
      </ItemTemplate> 
     </asp:TemplateField> 

答えて

0

あなたはあなたのコードによって決定されるパラメータとしてドロップダウンリストSelectedValueのを使用して別のコントロールを移入している:それはおそらく私があなたに全体のテンプレートを与えた場合には役立つだろう。あなたは完全に脱線しているDropDownList1を投入しようとしている場合この場合 あなたはcontrolParameter

<SelectParameters> 
    <asp:ControlParameter ControlID="DropDownList1" Property="SelectedValue" Name="Field3" Type="String" /> 
</SelectParameters> 

でプロパティを逃しています。この場合は、より多くのマークアップコードと詳細を表示する必要があります。

更新:設定しているDropDownListコントロールからパラメータ値を取得することはできません。パラメータを削除するか、別のコントロールを使用して値を提供してください

+0

申し訳ありません - 私はドロップダウンコードの一部を削除したことを認識しませんでした。私は残りの部分を投稿しました –

+0

DropDownList1に値を設定しますか?同じコントロールからパラメータ値を取得することはできません。 – Mubarek

+0

私は参照しています - だから私はどこか他の場所からパラメータ値を取る必要がありますか?私はUserNameのための境界線を持っていますが、それ以外にどこから得ることができるのか分かりません。私は新しいコントロールを作る必要がありますか? –

関連する問題