在这里,我绑定了一个 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();
}
}