我想在ASP.NET中的页面加载时绑定来自SQL Server表列的数据,但是它不起作用

时间:2018-11-12 22:12:07

标签: c# asp.net sql-server

我想在ASP.NET中在页面加载时绑定来自SQL Server表列的数据,但是它不起作用;单击按钮即可运行代码。

这是我的代码-有人可以帮忙吗?

if (!IsPostBack)
{
    DataTable subjects = new DataTable();

    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ToString());
    SqlDataAdapter adapter = new SqlDataAdapter("SELECT [name] FROM [supplier]", con);
    adapter.Fill(subjects);

    con.Open();

    DropDownreturn.DataSource = subjects;
    DropDownreturn.DataTextField = "name";
    DropDownreturn.DataValueField = "name";
    DropDownreturn.DataBind();
    DropDownreturn.Items.Insert(0, new ListItem("Select", "NA"));

    con.Close();
}

1 个答案:

答案 0 :(得分:0)

  

但是它不起作用;单击按钮即可运行代码。

当用户按下按钮时,如果按钮上启用了Postback,并且您放置了!IsPostBack检查,可能会阻止代码块绑定下拉菜单,则它将创建一个postback。

要解决此问题。在Page_Load处,请按照以下建议的方法检查按钮是否引发了回发,然后执行代码以绑定下拉列表:

Which control caused the postback?

Way To Know Which Control Has Raised PostBack

if(IsPostBack)
{
  if(postbackcontrol is button1)
  {
     //Bind dropdown 
  }
}