0

ページがロードされたときにドロップダウンリストから項目を自動選択する必要があります。.aspx コード:

<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True" AutoPostBack="True" DataSourceID="SqlDataSource1" DataTextField="fullname" DataValueField="fullname">
  <asp:ListItem>Any</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:PHSNew %>" SelectCommand="SELECT DISTINCT [fullname] FROM [web_Users] WHERE ([role] = @role) ORDER BY [fullname]">
  <SelectParameters>
     <asp:Parameter DefaultValue="md" Name="role" Type="String" />
  </SelectParameters>
</asp:SqlDataSource>

たとえば、ドロップダウン リストに 4 つの項目 (John、Albert、Epstien、Any) があるとします。.csファイルで、SQLクエリを実行して、このドロップダウンで選択する必要があるデータベースから文字列名を取得します。

私はちょうど使用しDropDownList1.selectedValue= nameました。うまくいきましたが、問題はデータベース内のデータが変化し続けることです。string name = "Renzo" を取得する場合があります。Renzo はデータベースの一部でしたが、現在は削除されています。その場合、「任意」を選択する必要があります。このコードを実行してみました:

string s = "Albert";
ListItemCollection li = DropDownList1.Items;

foreach (ListItem l in li)
{
    string s1 = l.ToString();
    if (l.ToString() == s)
    {
        DropDownList1.SelectedValue = s;
        return;
    }
    else
    {
        DropDownList1.SelectedValue = "Any";
    }
}

そして、このコードを Page_Load で呼び出しています

しかし、DropDownlist1 から取得できる項目は 1 つだけで、それは "Any" です。すべてのアイテムを取得して、ドロップダウンリストから特定のアイテムを自動選択するにはどうすればよいですか?

4

1 に答える 1