我想知道是否有办法用文本和值填充列表框。文本位很简单,但我想要一个值,所以我可以让用户在其中选择一些内容,然后按一个获取所选值的按钮,并使用SQL查询来完成剩下的工作。
到目前为止,我填写文本的代码是:
listAllLessons.Items.Add(detail);
它在一个循环中运行,并从数据库中填充。
由于
答案 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的引用名称所以..它非常简单!