Javascript asp.net Dropdownlist删除后未刷新

Javascript asp.net Dropdownlist删除后未刷新,javascript,c#,asp.net,.net,webforms,Javascript,C#,Asp.net,.net,Webforms,我有两个下拉列表,其中有公司名称和公司地址,还有一个链接到存储过程的删除按钮。即使我在该地址下拉列表上调用databind(),地址也不会被刷新。有人能给我指出正确的方向吗 //Button to remove Company protected void btnremovecompany_2(object sender, EventArgs e) { if (ddlcompanyaddress2.SelectedIndex != 0) /*checked to

我有两个下拉列表,其中有公司名称和公司地址,还有一个链接到存储过程的删除按钮。即使我在该地址下拉列表上调用databind(),地址也不会被刷新。有人能给我指出正确的方向吗

//Button to remove Company
    protected void btnremovecompany_2(object sender, EventArgs e)
    {
        if (ddlcompanyaddress2.SelectedIndex != 0) /*checked to see if an address is Selected first*/
        {
            string confirmValue = Request.Form["confirm_value"];
            if (confirmValue == "Yes")/* if yes is clicked then procedd to deactivate that company address*/
            {
                String strConnString = ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString;
                SqlConnection con = new SqlConnection(strConnString);
                SqlCommand cmd = new SqlCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "usp_update_company_active";
                cmd.Parameters.Add("@companyname", SqlDbType.VarChar).Value = ddlcompany2.SelectedItem.Text.Trim();
                cmd.Parameters.Add("@address", SqlDbType.VarChar).Value = ddlcompanyaddress2.SelectedItem.Text.Trim();
                cmd.Parameters.Add("@category", SqlDbType.VarChar).Value = ddlTrades2.SelectedItem.Text.Trim();
                cmd.Connection = con;
                **ddlcompanyaddress2.DataBind();**
                try
                {
                    con.Open();
                    cmd.ExecuteNonQuery();

                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {   
                    /*Display message saying company is deactivated*/
                    string message = "Company  has been removed";
                    string script = "window.onload = function(){ alert('";
                    script += message;
                    script += "')};";
                    ClientScript.RegisterStartupScript(this.GetType(), "SuccessMessage", script, true);
                    con.Close();
                    con.Dispose();                        
                }                    
            }
            else
            {
                /*if canceled is clicked then display no changes*/
                this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('No Changes were made!')", true);
            }
        }
        else
        {
            string message = "Please pick an address first.";
            string script = "window.onload = function(){ alert('";
            script += message;
            script += "')};";
            ClientScript.RegisterStartupScript(this.GetType(), "SuccessMessage", script, true);
        }

    }

您可能缺少下拉列表中的数据源。我无法在您的代码中找到数据源。您刚刚调用了数据绑定方法。
您能绑定数据源吗?

将此代码添加到try{}区域,并用新数据重置所有下拉列表

ddlgettrades2();
getcompany2(ddlTrades2.SelectedItem.Text);
getaddress2(ddlcompany2.SelectedItem.Text);

可能是您的proc name建议进行更新而不是删除,另外,您在执行proc之前绑定了列表。@DaveBecker所以databind对更新不起作用?我在try{}中移动了databind(),但它仍然不起作用?下拉列表的数据源是什么?是否将下拉列表绑定到页面加载中的数据源?@ChetanRanpariya存储过程只是将活动列设置为0。DDL仅为活动为=1的行填充。DDL的数据源是company表中的一列。不,我没有在页面加载中绑定它,我有3个动态DDL。选择第一个后,将填充下一个,然后从第二个填充第三个(我要重新索引的地址)。当您更改数据库中的任何数据(标记行IsActive=0)时,将不会影响绑定到DDL的数据源,因为它不再连接,除非您使用SQL数据源填充DDL。因此,您需要使用与第一次绑定DDL相同的逻辑或在选择其他DDL时重新绑定DDL。