在Page_Load方法里这样写
if(!isPostback)
{
string sql1 = "select id,info from test";
SqlConnection con = DB.createConnection();
con.Open();
SqlCommand cmd1 = new SqlCommand(sql1, con);
SqlDataReader str1 = cmd1.ExecuteReader();
list1.DataSource = str1;
list1.DataTextField = "info";
list1.DataValueField = "id";
list1.DataBind();
con.Close();}
if(!isPostback)
{
string sql1 = "select id,info from test";
SqlConnection con = DB.createConnection();
con.Open();
SqlCommand cmd1 = new SqlCommand(sql1, con);
SqlDataReader str1 = cmd1.ExecuteReader();
list1.DataSource = str1;
list1.DataTextField = "info";
list1.DataValueField = "id";
list1.DataBind();
con.Close();}
{
Response.Write(list1.Items[i].Text); }
我是要把选中项目的值(Value)发送到另一个页面
{
for (int i = 0; i < list1.Items.Count; i++)
{
if (list1.Items[i].Selected)
Response.Write(list1.Items[i].Value); //调试的时候这步直接跳过
}
}
我认为 是你在单击按钮时 又调用 了Page_Load事件了 不行你可以挂个断点 绝对先调用 Page_Load事件但一调用Page_Load事件 你的list1里面的数据 重新绑定 了 然后在执行Button1_Click事件 当然没有选中
所以不会进到 Response.Write(list1.Items[i].Value); 这句代码中解决方法 把:
string sql1 = "select id,info from test";
SqlConnection con = DB.createConnection();
con.Open();
SqlCommand cmd1 = new SqlCommand(sql1, con);
SqlDataReader str1 = cmd1.ExecuteReader();
list1.DataSource = str1;
list1.DataTextField = "info";
list1.DataValueField = "id";
list1.DataBind();
con.Close();用
if(!isPostback)
{
}
包含起来 这样 后台回调访问时 就不会再次绑定数据我要分 啊
{
里绑定
}如果发送 要把选中用str 链接上在传值
Response.Redirect( "target.aspx?ID=hello")
接收页面: string str = Request.QueryString["ID"];