Asp.net 在网格视图的下拉列表中显示选定项目

Asp.net 在网格视图的下拉列表中显示选定项目,asp.net,Asp.net,我有3个下拉列表。当从第一个ddl中选择一个项目时,第二个ddl将生成相应的项目。选择第二个ddl时,将使用相应的数据生成第三个ddl。我的问题是,当从第三个ddl中选择一个项目时,需要在网格视图中显示3个项目(1个ddl中的选定项目、2个ddl中的选定项目、3个ddl中的选定项目)。如何做到这一点? aspx页面: <body> <form id="form1" runat="server"> <asp:DropDownList ID="DDLCountry"

我有3个下拉列表。当从第一个ddl中选择一个项目时,第二个ddl将生成相应的项目。选择第二个ddl时,将使用相应的数据生成第三个ddl。我的问题是,当从第三个ddl中选择一个项目时,需要在网格视图中显示3个项目(1个ddl中的选定项目、2个ddl中的选定项目、3个ddl中的选定项目)。如何做到这一点? aspx页面:

  <body>
<form id="form1" runat="server">
<asp:DropDownList ID="DDLCountry" runat="server" OnSelectedIndexChanged="DDLCountry_SelectedIndexChanged" AutoPostBack="true">
    <asp:ListItem>--Select-- </asp:ListItem>
    <asp:ListItem>India</asp:ListItem>

    <asp:ListItem>Australia</asp:ListItem>
    <asp:ListItem>Pakistan</asp:ListItem>

</asp:DropDownList>
<asp:DropDownList ID="DDLState" runat="server" OnSelectedIndexChanged="DDLState_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>
<asp:DropDownList ID="DDLCity" runat="server" AutoPostBack="true"></asp:DropDownList> 


<div>
    <asp:GridView ID="Grd1" runat="server">
    </asp:GridView>
</div>
</form>

我已经为您制作了一个样品,可能会有帮助:

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
    onselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" 
    onselectedindexchanged="DropDownList2_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList3" runat="server" AutoPostBack="True" 
    onselectedindexchanged="DropDownList3_SelectedIndexChanged">
</asp:DropDownList>
<br />
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>


和cs代码:

public partial class _Default : System.Web.UI.Page
{
    public Random r;
    protected void Page_Load(object sender, EventArgs e)
    {
        r = new Random();
        if (!IsPostBack)
        {
            for (int i = 0; i < 10; i++)
            {
                int n = r.Next(100, 200);
                DropDownList1.Items.Add(new ListItem(n.ToString(), n.ToString()));
            }
        }
    }
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        r = new Random();
        for (int i = 0; i < 10; i++)
        {
            int n = r.Next(300, 400);
            DropDownList2.Items.Add(new ListItem(n.ToString(), n.ToString()));
        }
    }
    protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
    {
        r = new Random();
        for (int i = 0; i < 10; i++)
        {
            int n = r.Next(500,600);
            DropDownList3.Items.Add(new ListItem(n.ToString(), n.ToString()));
        }
    }
protected void DropDownList3_SelectedIndexChanged(object sender, EventArgs e)
{

        DataTable dt = new DataTable();
        DataRow dr = null;
        dt.Columns.Add(new DataColumn("Column1", typeof(string)));
        dt.Columns.Add(new DataColumn("Column2", typeof(string)));
        dt.Columns.Add(new DataColumn("Column3", typeof(string)));

        dr = dt.NewRow();
        dr["Column1"] = DropDownList1.SelectedItem.Text;
        dr["Column2"] = DropDownList2.SelectedItem.Text;
        dr["Column3"] = DropDownList3.SelectedItem.Text;
        dt.Rows.Add(dr);

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

    }

}
public分部类\u默认值:System.Web.UI.Page
{
公共随机r;
受保护的无效页面加载(对象发送方、事件参数e)
{
r=新随机数();
如果(!IsPostBack)
{
对于(int i=0;i<10;i++)
{
int n=r.Next(100200);
DropDownList1.Items.Add(新列表项(n.ToString(),n.ToString());
}
}
}
受保护的void DropDownList1\u SelectedIndexChanged(对象发送方,事件参数e)
{
r=新随机数();
对于(int i=0;i<10;i++)
{
int n=r.Next(300400);
DropDownList2.Items.Add(新列表项(n.ToString(),n.ToString());
}
}
受保护的void DropDownList2\u SelectedIndexChanged(对象发送方,事件参数e)
{
r=新随机数();
对于(int i=0;i<10;i++)
{
int n=r.Next(500600);
DropDownList3.Items.Add(新列表项(n.ToString(),n.ToString());
}
}
受保护的void DropDownList3\u SelectedIndexChanged(对象发送方,事件参数e)
{
DataTable dt=新的DataTable();
数据行dr=null;
Add(新的数据列(“Column1”,typeof(string));
Add(新的数据列(“Column2”,typeof(string));
Add(新的数据列(“Column3”,typeof(string));
dr=dt.NewRow();
dr[“Column1”]=DropDownList1.SelectedItem.Text;
dr[“Column2”]=DropDownList2.SelectedItem.Text;
dr[“Column3”]=DropDownList3.SelectedItem.Text;
dt.Rows.Add(dr);
GridView1.DataSource=dt;
GridView1.DataBind();
}
}

你能提供你的代码吗?这完全取决于你使用的是哪种asp.net+客户端技术,webforms?MVC?他们的代码是javascript还是全部回调?提交你的code@Massanu只有webformsAdd第三个DDL selected item事件中的gridview填充不起作用?@Massanu Plz提供代码
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
    onselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" 
    onselectedindexchanged="DropDownList2_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList3" runat="server" AutoPostBack="True" 
    onselectedindexchanged="DropDownList3_SelectedIndexChanged">
</asp:DropDownList>
<br />
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
public partial class _Default : System.Web.UI.Page
{
    public Random r;
    protected void Page_Load(object sender, EventArgs e)
    {
        r = new Random();
        if (!IsPostBack)
        {
            for (int i = 0; i < 10; i++)
            {
                int n = r.Next(100, 200);
                DropDownList1.Items.Add(new ListItem(n.ToString(), n.ToString()));
            }
        }
    }
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        r = new Random();
        for (int i = 0; i < 10; i++)
        {
            int n = r.Next(300, 400);
            DropDownList2.Items.Add(new ListItem(n.ToString(), n.ToString()));
        }
    }
    protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
    {
        r = new Random();
        for (int i = 0; i < 10; i++)
        {
            int n = r.Next(500,600);
            DropDownList3.Items.Add(new ListItem(n.ToString(), n.ToString()));
        }
    }
protected void DropDownList3_SelectedIndexChanged(object sender, EventArgs e)
{

        DataTable dt = new DataTable();
        DataRow dr = null;
        dt.Columns.Add(new DataColumn("Column1", typeof(string)));
        dt.Columns.Add(new DataColumn("Column2", typeof(string)));
        dt.Columns.Add(new DataColumn("Column3", typeof(string)));

        dr = dt.NewRow();
        dr["Column1"] = DropDownList1.SelectedItem.Text;
        dr["Column2"] = DropDownList2.SelectedItem.Text;
        dr["Column3"] = DropDownList3.SelectedItem.Text;
        dt.Rows.Add(dr);

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

    }

}