gpt4 book ai didi

c# - 将下拉列表传递给方法

转载 作者:行者123 更新时间:2023-11-30 23:18:48 25 4
gpt4 key购买 nike

我有以下代码 LoadRegistrations(); 用 SQL 数据库中的值填充 DropDownList

我可能会在不同的地方多次使用它,所以想写一个方法来处理它,而不是复制这个方法并更改次要细节。

我已经完成填充 DataTable,但我不确定如何传递 DropDownListDataTextField + DataValueField 放入其中并绑定(bind)数据。请解释我必须做什么

原始方法

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>

最佳答案

您已经创建了一个带有参数的方法:

private DataTable PopulateDropdown(string connectionString, DataTable datatable, string query)

如果您想将 DropDownList 传递给该方法,请完全按照您已经执行的操作并添加一个参数:

private DataTable PopulateDropdown(string connectionString, DataTable datatable, string query, DropDownList myDropDownList)

然后在方法中可以引用myDropDownList:

myDropDownList.DataSource = dt;
myDropDownList.DataBind();

调用该方法时,您需要将要修改的 DropDownList 传递给它:

PopulateDropDown(someConnectionString, someDataTableYouDoNotUse, someQuery, ddreg);

关于c# - 将下拉列表传递给方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40635696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com