ASP.NETにおけるドロップダウンリストへのデータバインディングの実現方法を教えてください。
ASP.NET では、以下のメソッドを使用して DropDownList のデータをバインドできます。
- 静的なデータソースのバインドを使用:コードを記述せずに、アスペックス ファイルに `DropdownList` の `Items` を直接定義できます。例:
<asp:DropDownList ID="ddlCity" runat="server">
<asp:ListItem Text="New York" Value="NY"></asp:ListItem>
<asp:ListItem Text="Los Angeles" Value="LA"></asp:ListItem>
<asp:ListItem Text="Chicago" Value="CH"></asp:ListItem>
</asp:DropDownList>
- 動的データソースバインディングを使用して: データソースをバックエンドコードでバインドできます。たとえば、データベースからデータをクエリしてDropDownListにバインドします。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// 查询数据库获取城市列表
List<City> cities = GetCities();
// 绑定数据到DropDownList
ddlCity.DataSource = cities;
ddlCity.DataTextField = "CityName"; // 显示城市名称
ddlCity.DataValueField = "CityCode"; // 选中项的值为城市代码
ddlCity.DataBind();
}
}
Cityという独自のクラスは都市オブジェクトを表しており、CityNameとCityCodeはその属性で、それぞれ都市名と都市コードを表します。
- SQL データソース
- オブジェクトデータソース
<asp:DropDownList ID="ddlCity" runat="server" DataSourceID="dsCities" DataTextField="CityName" DataValueField="CityCode"></asp:DropDownList>
<asp:SqlDataSource ID="dsCities" runat="server" ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" SelectCommand="SELECT CityCode, CityName FROM Cities"></asp:SqlDataSource>
SqlDataSourceはデータベースのデータソースコントロールで、ConnectionStringはデータベース接続文字列、SelectCommandは問い合わせ文です。
ASP.NET における DropDownList のデータバインディングには、一般的な方法がいくつかあり、必要に応じて適切な方法を選択できます。