使用文本和值填充列表框,ASP.Net

时间:2012-11-19 00:19:01

标签: asp.net listbox

我想知道是否有办法用文本和值填充列表框。文本位很简单,但我想要一个值,所以我可以让用户在其中选择一些内容,然后按一个获取所选值的按钮,并使用SQL查询来完成剩下的工作。

到目前为止,我填写文本的代码是:

listAllLessons.Items.Add(detail);

它在一个循环中运行,并从数据库中填充。

由于

4 个答案:

答案 0 :(得分:2)

您可以在Web窗体中执行此操作:

HTML方面:

  <asp:DropDownList ID="ddlList" 
                    runat="server" />
  <br />
  <asp:Button ID="btnSubmit" 
              runat="server" 
              OnClick="btnSubmit_Click" 
              Text="Click Me" />

代码背后:

protected void Page_Load(object sender, EventArgs e)
{
  if (!IsPostBack)
  {
    //Generate 20 items
    foreach(var count in Enumerable.Range(1, 20))
    {
      var newItem = new ListItem();

      newItem.Value = count.ToString();
      newItem.Text = "Item " + count.ToString();

      ddlList.Items.Add(newItem);
    }
  }
}

protected void btnSubmit_Click(object sender, EventArgs e)
{
  //Gets the selected value
  var selectedValue = ddlList.SelectedValue;

  System.Diagnostics.Debugger.Break();
}

答案 1 :(得分:1)

您是否尝试过连接这些项目:

    while (reader.Read())
            {
                ListBox1.Items.Add(reader[0].ToString() + "\t" + reader[1].ToString());
            }

答案 2 :(得分:1)

请试试这个:

while (reader.Read())
{
  ListItem li = new ListItem(Convert.ToString(reader["test"]), Convert.ToString(reader["value"]));
  ListBox1.Items.Add(li);
}

答案 3 :(得分:0)

这对我有用。

dt = db.GetAllEmployeeForManagement();
                foreach (DataRow item in dt.Rows)
                {
                    ListItem li = new ListItem(Convert.ToString(item["Name"]), Convert.ToString(item["EmployeeID"]));


                    if (!ListBox1.Items.Equals(li.Text))
                    {
                        ListBox1.Items.Add(li);
                    }
                }

其中dt实际上是Datasource的引用名称所以..它非常简单!