使用 C# 在运行时设置下拉列表数据源和值

set dropdownlist datasource and values at runtime using C#

如果根据特定条件在运行时将 DropDownList 的 DataSourceID 设置为 SqlDataSource,我如何设置 SqlDataSource 中要显示的字段以及将其值设置为什么? 目前我有以下代码:

protected void chkBondedStock_CheckedChanged(object sender, EventArgs e)
{
    if (chkBondedStock.Checked)
    {
        ddlProject.DataSourceID = "SqlBond_Y";
        ddlProject.DataBind();
    }
    else
    {
        ddlProject.DataSourceID = "SqlBond_N";
        ddlProject.DataBind();
    }
}

可能您正在使用 System.Web.UI.WebControls.DropDownList 控件。如果是这样,您应该使用:

ddlProject.DataValueField = "ValueField";
ddlProject.DataTextField = "TextField";

https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.datatextfield(v=vs.110).aspx https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.datavaluefield(v=vs.110).aspx