c#下拉选定文本

c#下拉选定文本,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,我正在尝试获取所选下拉项的文本 ad.Fill(dt); drop1.DataSource = dt; drop1.DataTextField = "zodys"; drop1.DataValueField = "zodys"; drop1.DataBind(); 我的下拉列表中充满了数据库数据 ad.Fill(dt); drop1.DataSource = dt; drop1.DataTextField = "zodys"; drop1.DataValueField = "zodys"; d

我正在尝试获取所选下拉项的文本

ad.Fill(dt);
drop1.DataSource = dt;
drop1.DataTextField = "zodys";
drop1.DataValueField = "zodys";
drop1.DataBind();
我的下拉列表中充满了数据库数据

ad.Fill(dt);
drop1.DataSource = dt;
drop1.DataTextField = "zodys";
drop1.DataValueField = "zodys";
drop1.DataBind();
例如:
word1、word2、word3、
所有这一切都很好,但当我尝试获取所选项目的文本时,我总是得到相同的文本(1个项目的文本)

ad.Fill(dt);
drop1.DataSource = dt;
drop1.DataTextField = "zodys";
drop1.DataValueField = "zodys";
drop1.DataBind();

我假设您正在将下拉列表数据绑定到page_load中的回发上。您应该检查是否有
IsPostBack

ad.Fill(dt);
drop1.DataSource = dt;
drop1.DataTextField = "zodys";
drop1.DataValueField = "zodys";
drop1.DataBind();
if(!IsPostBack)
{
    ad.Fill(dt);
    drop1.DataSource = dt;
    drop1.DataTextField = "zodys";
    drop1.DataValueField = "zodys";
    drop1.DataBind();
}

我假设您正在将下拉列表数据绑定到page_load中的回发上。您应该检查是否有
IsPostBack

ad.Fill(dt);
drop1.DataSource = dt;
drop1.DataTextField = "zodys";
drop1.DataValueField = "zodys";
drop1.DataBind();
if(!IsPostBack)
{
    ad.Fill(dt);
    drop1.DataSource = dt;
    drop1.DataTextField = "zodys";
    drop1.DataValueField = "zodys";
    drop1.DataBind();
}

我几乎可以保证您的问题是您在
Page\u Load()
中定义了上述内容?只有在不发帖的情况下才需要这样做,如:

ad.Fill(dt);
drop1.DataSource = dt;
drop1.DataTextField = "zodys";
drop1.DataValueField = "zodys";
drop1.DataBind();
if(!IsPostBack)
{
   ad.Fill(dt);
   drop1.DataSource = dt;
   drop1.DataTextField = "zodys";
   drop1.DataValueField = "zodys";
   drop1.DataBind();
}

这可以确保每次检查SelectedItem之前都不会重置该值。

我几乎可以保证您的问题是您在
页面加载()中定义了上述内容。
?只有在不发帖的情况下才需要这样做,如:

ad.Fill(dt);
drop1.DataSource = dt;
drop1.DataTextField = "zodys";
drop1.DataValueField = "zodys";
drop1.DataBind();
if(!IsPostBack)
{
   ad.Fill(dt);
   drop1.DataSource = dt;
   drop1.DataTextField = "zodys";
   drop1.DataValueField = "zodys";
   drop1.DataBind();
}
这样可以确保在每次检查SelectedItem之前不会重置该值

ad.Fill(dt);
drop1.DataSource = dt;
drop1.DataTextField = "zodys";
drop1.DataValueField = "zodys";
drop1.DataBind();