我是用datalist里放的每个用户的信息,当我点击datalist中的一个链接时,
用onclick事件弹出一个层,在层里显示相应的用户信息,再对其进行修改,
  但我想获得这个用户的ID号,却总是为空,下面是我的代码,麻烦大家帮忙看下。。     <asp:DataList ID="DataList1" runat="server" RepeatColumns="4" RepeatDirection="Horizontal"
                    OnItemCommand="DataList1_ItemCommand">
                                <p>
                                    <span>formerly:</span><%#Eval("名称") %></p>
                                <p>
       <p>
                                    <span>now:</span><label>
                                        <asp:TextBox ID="修改后的名称" runat="server" Style="height: 18px; width: 200px;"></asp:TextBox>
                                    </label>
                                </p>   <span><a href="#" onclick='div()'>
                                    Edit</a>    <p style="text-align: center;">
                                    <label>
                                        <asp:ImageButton ID="提交" runat="server" ImageUrl="../../images/submit.gif"
                                            Style="height: 32px; width: 128px; background: none; border: 0px;" OnClick="ImageButton2_Click" />
                                    </label>
                                </p>
</span>  </ItemTemplate>
                </asp:DataList>
onclick='div()'这个方法是用来弹出层,然后在层中显示出用户的名称,并对其进行修改//
我要怎么样才能获到用户的ID值呢??
//这是我在后置代码中写的提交时,获得的ID值,但却获不到值,  protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
    {        Label lbl = this.DataList1 .SelectedItem .FindControl("lblID") as Label;
        int id = Convert.ToInt32(lbl.Text.Trim());
    }

解决方案 »

  1.   

    哦,不好意思,我少写了一个东西       <asp:Label ID="lblID" runat="server" Text='<%#Eval("media_id") %>' Visible="false"></asp:Label>也是写在这个datalist里面的,我发贴时忘记加上去了。
      

  2.   

    Visible="false"
    你的是不可见的?你改成可见的看下
      

  3.   

    需要看看你lblID值是否正常获取到了,并在客户端能查询到??
      

  4.   

    <a href="#" onclick='div(<%#Eval("userid") %>)'>------------------每行的 userid 是唯一的哦。
      

  5.   

    你找你的lable 有什么用呢?
    除非你的lable 绑定的是你数据表中对应的用户ID这样你才能根据你的用户ID 得到你的所有用户信息显示在div中
    取lable的值
      System.Web.UI.WebControls.Label l = (Label)e.Item.FindControl("Label2");
                string s = "你选择的是<b><font color=red>" + l.Text + "</font></b>";
               this.Label1.Text=s;//Label1控件是用来测试获得的值这个值就是你的用户ID了,那么你就可以得到你想得到的了
      

  6.   

    onclick='div(<%#Eval("userid")%>)'
    ImageButton btn =sender as ImageButton ;
    DataListItem item = (sender as ImageButton).NamingContainer as DataListItem;
      

  7.   


    谢谢,你的这种方法,是用在ItemCommand事件中才能得到它的值。
    不过还是加分。