如何在dropDownList上填充所有listItems-ASP

时间:2018-08-06 06:45:20

标签: c# asp.net webforms

我想从sql插入酒店名称数据库, ListItem中的每个。 (尝试了很多时间)。

这是cs代码:

  <asp:DropDownList id="hotels" runat="server"  >
      <asp:ListItem Text="hotel1"></asp:ListItem>
      <asp:ListItem Text="hotel2"></asp:ListItem>
      <asp:ListItem Text="hotel3"></asp:ListItem>
      <asp:ListItem Text="hotel4"></asp:ListItem>
      <asp:ListItem Text="hotel5"></asp:ListItem>
      <asp:ListItem Text="hotel6"></asp:ListItem>
  </asp:DropDownList>

这是aspx代码:这是我犯了个大错误的地方。

public partial class Home : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        string hotel = hotels.Text;// mistake ? or to add ?)
        SqlConnection sqlCon;
        sqlCon = new SqlConnection(@"Data Source=ELAD_SSD\SQLEXPRESS;Initial Catalog=Travels;Integrated Security=True");
        SqlCommand Command;
        Command = new SqlCommand("SELECT Hotels.Destiny FROM Travels WHERE Hotel = @hotel", sqlCon);
        Command.Parameters.Add(new SqlParameter("hotel", hotel));

        DataTable dt = new DataTable();
        SqlDataAdapter adapter = new SqlDataAdapter(Command); 
        adapter.Fill(dt);


        for (dt.Rows.Count > 0)
        {
            hotels.Text = dt.Rows.Count;// MISTAKE
        }
    }
}

我应该如何填充每个itemList

我知道要通过Server.Transfer("Hotels.aspx");

发送

1 个答案:

答案 0 :(得分:1)

我认为列表项只是占位符?我带他们出去。然后:

        foreach (System.Data.DataRow dr in dt.Rows)
        {
            hotels.Items.Add(new System.Web.UI.WebControls.ListItem(dr["Destiny"]));
        }

如果这不是100%正确的应用程序,因为我是根据工作副本进行编辑的。但是你明白了。