にSQLデータベースの値を設定するには、次のコードLoadRegistrations();
があります。ドロップダウンリストをメソッドに渡す
このメソッドをコピーしてマイナーな細部を変更するのではなく、別の場所でこれを何回か使用する可能性が高いので、世話をするメソッドを作成したいと考えています。
私は限りDataTable
を埋めるように持っているが、私はそれにDataTextField
+ DataValueField
DropDownList
&を渡すと、データバインディングについては移動するかどうかはわかりません。私は
オリジナルメソッド
private void LoadRegistrations()
{
DataTable reg = new DataTable();
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnString1"].ToString()))
{
try
{
SqlDataAdapter adapter = new SqlDataAdapter("select vehicleID, regNo from dbo.Vehicles order by regNo Asc", con);
adapter.Fill(reg);
ddreg.DataSource = reg;
ddreg.DataTextField = "regNo";
ddreg.DataValueField = "vehicleID";
ddreg.DataBind();
}
catch (Exception ex)
{
// Error handling to be done
}
}
}
新しい方法
private DataTable PopulateDropdown(string connectionString, DataTable datatable, string query)
{
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(connectionString))
{
try
{
SqlDataAdapter adapter = new SqlDataAdapter(query, con);
adapter.Fill(dt);
//What do I do here? I want to bind to a dropdown list passed into this method
}
catch (Exception ex) { }
}
return dt;
}
ASPドロップダウンあなたが持つメソッドを作成しました
<asp:DropDownList ID="ddreg" CssClass="form-control" runat="server" AppendDataBoundItems="true">
<asp:ListItem Text="<Select Registration Number>" Value="0" />
</asp:DropDownList>
メソッドパラメータとして 'DropDownList'を追加しましたか? – David
これを試してみたら、 'タイプの名前空間が見つかりません'というエラーが出ます。それは、マスターページの子のためのコードビハインドですが、必要なアセンブリが不足しているかどうかはわかりませんが、同じスクリプト内で、最初のメソッドでドロップダウンリストオブジェクトを利用することは問題ありません。 –