【发布时间】:2013-03-23 06:05:46
【问题描述】:
在这里,我绑定了一个 ddl 来填充如下值:Australis(+61)。在另一个地方,我想绑定另一个 ddl 来填充这样的值:澳大利亚。我可以使用相同的代码并更改查询吗?实际上,我在所需位置(不同的 aspx 页面)调用此函数(在单独的类中定义)。那么我能否避免代码冗余,否则我将不得不重复代码
public DataSet BindDropDownList()
{
DataSet ds = new DataSet();
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]);
con.Open();
string strQuery = "SELECT CountryName + '(+' + CountryCode + ')' As CountryName,CountryCode from ACountry";
SqlCommand cmd = new SqlCommand(strQuery, con);
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
da.Fill(ds, "AUser");
con.Close();
return ds;
}
这就是我在其中一个 aspx 页面中的调用方式:
protected void Page_Load(object sender, EventArgs e)
{
UserFunctions objBindDDL = new UserFunctions();
ddlCountryCode.DataSource = objBindDDL.BindDropDownList().Tables["AUser"];
ddlCountryCode.DataTextField = "CountryName";
ddlCountryCode.DataValueField = "CountryCode";
//ddlCountryCode.SelectedText = ddlCountryCode.Items.FindByText("India(+91)");
ddlCountryCode.DataBind();
}
@Praveen:这是我只想要国家名称的地方
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
UserFunctions objBindDDL = new UserFunctions();
ddlCountry.DataSource = objBindDDL.BindDropDownList().Tables["AUser"];
ddlCountry.DataTextField = "CountryName";
//ddlCountry.DataValueField = "CountryName";
//ddlCountryCode.SelectedText = ddlCountryCode.Items.FindByText("India(+91)");
ddlCountry.DataBind();
}
}
【问题讨论】:
-
你想用相同的代码绑定两个不同的
dropdownlist? -
我已经给出了每个下拉列表将包含的值的示例...我在想可能我只会更改查询...
-
怎么样?我无法做到这一点......正如我所说,我在不同的地方调用该函数......那么我如何让它接受所需的查询?
-
在我回答之前再澄清一下...您将从两个不同的表中获取数据...对吗?
-
同一张桌子。它很简单,在一个地方我想要国家名称和国家代码......在另一个地方我只想要国家名称......
标签: asp.net data-binding drop-down-menu