ListBox1.SelectedValue.ToString()//是获取鼠标选择的值。
当我用数据集填充LISTBOX时,ListBox1.SelectedValue.ToString()的取值为空
代码如下:
listSqldata.DataSource = ds;
listSqldata.DataTextField = "users";
listSqldata.DataValueField = "id";
listSqldata.DataBind();
Response.Write(ListBox1.SelectedValue.ToString())//为空,怎么才能取值了?
你的Response.Write(ListBox1.SelectedValue.ToString())这句话必须写到ListBox1的SelectedIndexChanged事件中才能得到响应,双击SelectedIndexChanged事件,然后:
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Write(ListBox1.SelectedValue.ToString());
}
-
追问:
-
我一开始也是这样想的,但是做了也不行。而且这时的.SelectedValue.ToString()不管怎么点都只能取到第一值的VALUE
-
回答:
-
那你再试试下面这个:
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
for (int i = 0; i < ListBox1.Items.Count; i++)
{
if (ListBox1.Items[i].Selected == true)
{
Response.Write(ListBox1. ListBox1.Items[i].ToString());
}
}
}
-
追问:
-
你这种方法到是好,通过循环来判断是不是为选中。我在后面加了:
for (int i = 0; i < ListBox1.Items.Count; i++)
{
if (ListBox1.Items[i].Selected == true)
{
Response.Write(ListBox1.Items[i].ToString());
}
else
{
Response.Write("no ");
}
}我有6个数据。。。。。。。。。。页面打印了6个NO。。。。。。。晕!
-
回答:
-
else
{
Response.Write("no ");
}你这是什么目的呀?
-
追问:
- 谢谢了,原来我没有判断页面是不是第一次所以还有这种问题。呵呵,不过还是谢谢你了。