我想在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();
}
答案 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
}
}