下拉菜单C#Asp.Net中的索引未更改

下拉菜单C#Asp.Net中的索引未更改,c#,asp.net,indexing,drop-down-menu,C#,Asp.net,Indexing,Drop Down Menu,我有一个从数据库中填写的DropDownList。当我在索引1上选择一条记录时,它会得到正确的结果,但当我选择第二个索引时,它会得到相同的索引。默认情况下,DropDownList显示第一个索引。如何在DropDownList中选择更改索引? 因此,如果要选择索引3,结果必须来自索引3。 我尝试了DropDownList.SelectedItem,DropDownList.SelectedValue,DropDownList.SelectedIndex,DropDownList.Text,但似乎

我有一个从数据库中填写的
DropDownList
。当我在索引1上选择一条记录时,它会得到正确的结果,但当我选择第二个索引时,它会得到相同的索引。默认情况下,
DropDownList
显示第一个索引。如何在
DropDownList
中选择更改索引? 因此,如果要选择索引3,结果必须来自索引3。 我尝试了
DropDownList.SelectedItem
DropDownList.SelectedValue
DropDownList.SelectedIndex
DropDownList.Text
,但似乎没有效果

在页面上加载下拉列表\u加载

 public void load_Individual()
    {
        if (IsPostBack == false)
        {
            SqlDataAdapter sdaIndividual = new SqlDataAdapter("select * from tbl_trip", _connectionString);
            DataTable dtIndividual = new DataTable();
            sdaIndividual.Fill(dtIndividual);
            if (dtIndividual.Rows.Count > 0)
            {
                ddl_Individual.DataTextField = "TruckNo";
                ddl_Individual.DataValueField = "TruckNo";
                ddl_Individual.DataSource = dtIndividual;
                ddl_Individual.DataBind();
            } 
        }
    }
用于选择值的下拉列表

if (ddl_Individual.Text != string.Empty)
        {
            ddl_Individual.ClearSelection();
            adp = new SqlDataAdapter(@"Select * , '' as c1, '' as c2, 0 as c3 , 0 as c4 , 0 as c5 , 0 as c6, 0 as c7 , 0 as c8 from tbl_Trip 
            where TruckNo='" + ddl_Individual.SelectedValue + "'", _connectionString);
            adp.Fill(Dt);
            Session["mydata"] = Dt;
            Response.Redirect("LoadReport.aspx");
        }
        else
        {
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(),"alertMessage","aler('select valid value')", true);
        }
在您有机会读取用户选择的值之前,此行正在清除下拉列表中的选择。把它拿走,因为我觉得没有必要

确保通过检查回发来设置页面加载中的项目:

if(!IsPostBack)   
{
    // Perform binding
} 
如果下拉菜单应触发回发,则确保将
AutoPostBack=true


另外,请研究使用参数化查询来帮助防止SQL注入攻击。无论应用程序的大小,这都是一个好习惯。

我已经尝试过,但没有效果。请分享另一个解决方案。实际上,我的应用程序是一个小应用程序,不需要使用Sql注入。那么你想和我分享另一个选择吗?
if(!IsPostBack)   
{
    // Perform binding
}