Javascript asp.net Dropdownlist删除后未刷新
我有两个下拉列表,其中有公司名称和公司地址,还有一个链接到存储过程的删除按钮。即使我在该地址下拉列表上调用databind(),地址也不会被刷新。有人能给我指出正确的方向吗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
//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。