如何在不使用java脚本或Ajax的情况下使用asp.net中的国家/地区的方法绑定级联下拉列表

时间:2014-12-30 07:34:32

标签: c# asp.net cascadingdropdown

我需要2个下拉列表,其中根据第一个下载列表填充第二个下拉列表,而不使用任何javascript或ajax,以及我们可以通过多少方式实现此目的?我尝试使用方法,但我无法绑定它。

这是我试过的

public List <string> indiacities()
{
    List<string> l2 = new List<string>();
    l2.Add("hyderabad");
    l2.Add("calcutta");
    l2.Add("chennai");
    return l2;
}
public List<string> usacities()
{
    List<string> l1 = new List<string>();
    l1.Add("newyork");
    l1.Add("new jersy");
    l1.Add("texas");
    return l1;
}      
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    if(DropDownList1.SelectedValue=="0")
    {

        DropDownList2.DataSource=usacities();
        DropDownList2.DataBind();
    }
    else if(DropDownList1.SelectedValue=="1")
    {
        DropDownList2.DataSource=indiacities();
        DropDownList2.DataBind();
    }
    else{}
 }

1 个答案:

答案 0 :(得分:0)

这是一个示例,只是为了让您对如何使用代码将列表指定为数据源给出一般性的粗略概念。

    List<string> UsaCities = new List<string>();
    List<string> IndiaCities = new List<string>();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {

            UsaCities.Add("newyork");
            UsaCities.Add("new jersy");
            UsaCities.Add("texas");
            IndiaCities.Add("hyderabad");
            IndiaCities.Add("calcutta");
            IndiaCities.Add("chennai");

            DropDownList1.DataSource = UsaCities;
            DropDownList1.DataBind();
        }

    }
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (DropDownList1.SelectedIndex == 0)
        {

            DropDownList2.DataSource = UsaCities;
            DropDownList2.DataBind();
        }
        else if (DropDownList1.SelectedIndex == 1)
        {
            DropDownList2.DataSource = IndiaCities;
            DropDownList2.DataBind();
        }
    }