为什么我的ListBox的SelectedIndexChanged事件不响应?autopostblack也设为true 啦,
另外我讲讲我的程序实,listbox绑定的是搜索的结果,然后点里面的项,触发事件
protected void ButtonSearch_Click(object sender, EventArgs e)
{
try
{
string WorkID = "";
string UserName = "";
WorkID = TextBox1.Text;
Member myMember = new Member();
UserName= myMember.GetCNameByWorkID(WorkID);
if (UserName != null)
{
DataTable tb = new DataTable();
tb.Columns.Add(new DataColumn("name", typeof(string)));
tb.Columns.Add(new DataColumn("id", typeof(string))); DataRow dr = tb.NewRow();
dr["name"] = UserName;
dr["id"] = WorkID;
tb.Rows.Add(dr); ListBox1.DataSource = tb;
ListBox1.DataTextField = "name";
ListBox1.DataValueField = "id"; ListBox1.DataBind();
}
}
catch
{ }
} protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{ if (ListBox1.SelectedValue != null)
{
Label1.Text = "ss"; }
}
另外我讲讲我的程序实,listbox绑定的是搜索的结果,然后点里面的项,触发事件
protected void ButtonSearch_Click(object sender, EventArgs e)
{
try
{
string WorkID = "";
string UserName = "";
WorkID = TextBox1.Text;
Member myMember = new Member();
UserName= myMember.GetCNameByWorkID(WorkID);
if (UserName != null)
{
DataTable tb = new DataTable();
tb.Columns.Add(new DataColumn("name", typeof(string)));
tb.Columns.Add(new DataColumn("id", typeof(string))); DataRow dr = tb.NewRow();
dr["name"] = UserName;
dr["id"] = WorkID;
tb.Rows.Add(dr); ListBox1.DataSource = tb;
ListBox1.DataTextField = "name";
ListBox1.DataValueField = "id"; ListBox1.DataBind();
}
}
catch
{ }
} protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{ if (ListBox1.SelectedValue != null)
{
Label1.Text = "ss"; }
}
可是我的绑定是发生在search事件里的呀,难道要在pastback里再绑定一次?我之前好像试过,好像不行,我再试试
wuzhengqing1:你的方法还没试过呢,不过值得一试,死马当活马医了(⊙_⊙)
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class UserM : System.Web.UI.Page
{
string WorkID = "";
string UserName = "";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ListBox1.DataBind();
}
}
protected void ButtonSearch_Click(object sender, EventArgs e)
{
try
{
//string WorkID = "";
//string UserName = "";
WorkID = TextBox1.Text;
Member myMember = new Member();
UserName = myMember.GetCNameByWorkID(WorkID);
if (UserName != null)
{
DataTable tb = new DataTable();
tb.Columns.Add(new DataColumn("name", typeof(string)));
tb.Columns.Add(new DataColumn("id", typeof(string))); DataRow dr = tb.NewRow();
dr["name"] = UserName;
dr["id"] = WorkID;
tb.Rows.Add(dr); ListBox1.DataSource = tb;
ListBox1.DataTextField = "name";
ListBox1.DataValueField = "id"; ListBox1.DataBind();
}
}
catch
{ }
}
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{ (new AlertMessage()).showMsg(Page, "aaaaaa");
if (ListBox1.SelectedValue != null)
{
Label1.Text = "ss"; }
}
wuzhengqing1:太謝謝你啦!我試了你的方法,现在ok啦,不好意現在才回,开始我们公司被限电,公司更换发电系统耽误了会,再加上本来都不报希望的,现在好了,谢谢!
<asp:ListBox ID="ListBox1" runat="server" Height="200px" Width="200px"
AutoPostBack="True"
onselectedindexchanged="ListBox1_SelectedIndexChanged"></asp:ListBox>AutoPostBack="Ture"很重要,记得设置为True