在repeater控件中用一个子控件
 <ItemTemplate>
     <tr align="center">   
        <td width="100">
              <asp:ImageButton ID="ImageButton1" CommandArgument='<%Eval("usersID") %>' CommandName="change"                       runat="server" ImageUrl="images/Butnext.gif" />
         </td>                
        </tr>
</ItemTemplate>
一个ImageButton控件,绑定了数据库!
现在想要在后台获取<%Eval("usersID") %>对应的id号!怎么做啊?

解决方案 »

  1.   


                     e.CommandArgument.ToString();
      

  2.   

    foreach (RepeaterItem item in student.Items)
    {
        HyperLink hp = item.FindControl("hy") as HyperLink;
        if (hp != null)
        { 
        }
    }
      

  3.   

    这是获取子控件的空间名字!
    是这样的!
     <tr align="center">   
    <td width="500"><%# DataBinder.Eval(Container.DataItem, "Username")%></td>
     <td width="100"> <asp:ImageButton ID="ImageButton1" CommandArgument='<%Eval("usersID") %>' CommandName="change" runat="server" ImageUrl="images/Butnext.gif" />
      </td></tr>
    在运行页面后,repeater会自动读取数据库里的信息,一条条显示下来!
    我要的是某一条数据对应的数据库的ID号!好比说显示用户名的话,我要“张三”这个用户名对应的ID号!
      

  4.   

    <%Eval("usersID") %>  写错了吧。  <%#Eval("usersID") %> 
    然后在 ItemCommand 事件里 
     if (e.CommandName == "change")
      {
           e.CommandArgument.ToString();
      }
      

  5.   

     protected void rptUsers_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName == "change")
            {
                string userId = e.CommandArgument.ToString();
            }
        }
      

  6.   

    你定义一下ImageButton的OnCommand事件,然后在事件中通过e.CommandArgument()就可以来取值了。
    <asp:ImageButton ID="ImageButton1" CommandArgument='<%Eval("usersID") %>' CommandName="change" runat="server" ImageUrl="images/Butnext.gif" OnCommand="ImageButton1_Command" />后台cs文件
     protected void ImageButton1_Command(object sender, CommandEventArgs e)
        {
            //结束预警信息,更新数据库表中的预警状态字段值
            string ID = e.CommandArgument.ToString().Trim();
             //你的其他操作
        }