1

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

到目前为止,我用于填充文本的代码是:

listAllLessons.Items.Add(detail);

它循环运行并从数据库中填充。

谢谢

4

4 回答 4

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();
}
于 2012-11-19T03:13:26.743 回答
1

请试试这个:

while (reader.Read())
{
  ListItem li = new ListItem(Convert.ToString(reader["test"]), Convert.ToString(reader["value"]));
  ListBox1.Items.Add(li);
}
于 2012-11-19T02:07:19.337 回答
1

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

    while (reader.Read())
            {
                ListBox1.Items.Add(reader[0].ToString() + "\t" + reader[1].ToString());
            }
于 2012-11-19T00:43:31.030 回答
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 的引用名称,所以.. 这很简单!

于 2016-08-29T11:43:51.720 回答