我有一個下拉列表,其數據源來自SQL服務器。asp.net 4 dropdownlist findByText不適用於動態列表
<asp:DropDownList ID="State" runat="server" DataSourceID="SqlDataSource1" DataTextField="STATE_NAME" DataValueField="STATE_FIPS">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT DISTINCT [STATE_NAME], [STATE_FIPS] FROM [county] order by [STATE_NAME]">
</asp:SqlDataSource>
我想預先填充列表中的值。我使用DropDownList.SelectedIndex = DropDownList.Items.IndexOf(DropDownList.Items.FindByValue(YourValueHere))
。但它不起作用。它從DropDownList.Items.FindByValue(YourValueHere)
給我一個空。
相同的代碼工作正常,如果我使用靜態列表項,如:
<asp:DropDownList ID="ddl" runat="server">
<asp:ListItem>item1</asp:ListItem>
<asp:ListItem>item2</asp:ListItem>
<asp:ListItem>item3</asp:ListItem>
<asp:ListItem>item4</asp:ListItem>
</asp:DropDownList>
任何想法?謝謝!
嗨,哥們這個工程.. THX很多! – sbs 2011-06-01 14:55:54
是的。代碼'ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(「item3」));'適用於靜態列表項目,但不適用於動態列表項目。 – sbs 2011-06-01 14:59:17
它也適用於動態listitems。 – 2011-06-01 15:01:55