执行第一个item的时候就跳转掉了,你要的是把id组合起来的吧?

解决方案 »

  1.   

     <a href='<%# "SeePhone.aspx?phoneId="+Eval("phoneId") %>'>
    --这句有问题啊--
      <a href= 'Etw_Manage/CommonUse/main.aspx?language=<%#Eval("user01") %>&web=<%#Eval("web_url") %>'><%#Eval("languageCountry") %></a>
      

  2.   

    foreach (DataListItem item in DataList1.Items)
            {
                //Label lb = (Label)DataList1.Items[0].FindControl("PhoneIdLabel");
                string p = DataList1.DataKeys[item.ItemIndex].ToString();
                Response.Redirect("~/MyTable/UpdatePhone.aspx?Id=" +Server.UrlEncode(p));
            }
           这段代码在执行第一个ID时就跳转了,怎么能把其余的ID再传过去呢?应该这样。string p = "";
    foreach (DataListItem item in DataList1.Items)
            {
                //Label lb = (Label)DataList1.Items[0].FindControl("PhoneIdLabel");
                p += DataList1.DataKeys[item.ItemIndex].ToString() + ",";
                }
    p = p.TrimEnd(',');
    Response.Redirect("~/MyTable/UpdatePhone.aspx?Id=" +Server.UrlEncode(p));然后在UpdatePhone.aspx里用split把ID取出来。不过这种方法不安全,ID做为字符串传递让人紧张(嘿嘿)。你可以试着在页面里设置一个字段public ArrayList idList = null;在你的按钮事件里这样写idList = new ArrayList();
    foreach (DataListItem item in DataList1.Items)
            {
                //Label lb = (Label)DataList1.Items[0].FindControl("PhoneIdLabel");
    idList.Add( DataList1.DataKeys[item.ItemIndex])           
                }
    Server.Transfer("UpdatePhone.aspx", true);然后你就可以在UpdatePhone.aspx里直接取ArrayList的值了,象
    Phone p = (Phone)Context.Handle //用你的Phone页面的类
    ArrayList idList = p.idList;
    ......PS:临时写的代码,没有测试,可能有bug,具体可以参照Server.Transfer用法的帮助,及网上的一些文章。        
           
      

  3.   

    url要编码(UrlEncode)的要不然会受字符集的影响!