3

作成したテーブルの値をドロップダウン リストに入力したいと考えています。リストにフィールドの 1 つ (テーブル内の言語) だけを入力したいだけです。データ ソースに正しく接続したと思いますが、リストに値を取得するために何をしなければならないかわかりません。独自の値を入力できますが、これは自動化したほうがよいでしょう。

これはこれまでのところですが、リストをデータ ソースにリンクするだけではありません。

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:HBshareIndexConnectionString %>" 

SelectCommand="SELECT * FROM [Web_Metrics] WHERE ([LCID] = @LCID)">
<SelectParameters>
    <asp:QueryStringParameter Name="LCID" QueryStringField="LCID" Type="Int32" />
</SelectParameters>

</asp:SqlDataSource>

<asp:Label ID="Label1" runat="server" Text="Select LCID: " ></asp:Label> &nbsp; &nbsp;  
<asp:DropDownList ID="DropDownList1" Width="150px" runat="server" DataSourceID="SqlDataSource1"  DataTextField="LCID" DataValueField="LCID">
<asp:ListItem>Select LCID...</asp:ListItem>
</asp:DropDownList>

助けてくれてありがとう。ドロップダウン リストにデータが入力されましたが、ユーザーが選択した LCID の詳細を表示するために使用しているリピーターを実際に取得するにはどうすればよいでしょうか? page.isPostback について話している人を見たことがありますが、それが何であるか、または現在のセットアップで機能するかどうかはわかりません。彼らが選択した LCID をどうにかして取得し、ページを更新してその LCID の詳細を表示する必要があります。誰にもアイデアはありますか?

4

2 に答える 2

1

問題は、リストアイテムとデータソースを定義しようとしていることです。

[アイテムを選択]オプションを挿入する場合は、結果セットの前に追加するか(フィールドによっては常に最初になり、フィールドによっては難しい場合があります)、データバインディングの後にコードビハインドに挿入することをお勧めUNIONORDER BYます:

DropDownList1s属性の変更:

<asp:DropDownList ID="DropDownList1" Width="150px" runat="server" DataSourceID="SqlDataSource1"  DataTextField="CountryName" DataValueField="LCID" OnDataBound="InsertChooseItem" />

C#:

protected void InsertChooseItem(object sender, EventArgs e)
{
    ListItem selectOnePlease = new ListItem("Select LCID..", 0);

    DropDownList1.Items.Insert(0, selectOnePlease);
}

VB:

Protected Sub InsertChooseItem(sender As Object, e As EventArgs)

    Dim selectOnePlease As New ListItem("Select LCID..", 0)

    DropDownList1.Items.Insert(0, selectOnePlease)

End Sub
于 2013-02-07T17:36:37.243 に答える