学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
轻松建立自己的群组,招兵买马   
 11 12
发新话题
打印

repeater获得id

repeater获得id

在一个页面中有一个repeater控件中,其中有显示5条记录,我想获得其中一条记录的ID号,并在另一个页面中使用这个ID号,
该怎么写代码呢?

TOP

你把每条记录的ID也绑定到Repeater
Flying without wings

TOP

绑定拉,但得到的ID号是最后一个记录的ID

TOP

代码
Flying without wings

TOP

你有没有绑定在模板上?

TOP

在<ItemTemplate>中绑定的时候将ID也绑定上
你可以专门放一个label控件来绑定这个ID,将label控件设置为隐藏
你在后台去ID的时候是在那个方法里面取的!??
是自定义方法吗?

TOP

最好是把那点的代码发上来看看

TOP

有一个玩捉迷藏的……

TOP

<asp:Repeater ID="rpt1" runat="server"   >
   <ItemTemplate>
      <table width="777" border="0" cellpadding="0" cellspacing="1" bgcolor="#009900" class="tb">
        <!--DWLayoutTable-->
<tr>
<td align="center" valign="middle" bgcolor="#FFFFFF" style="height: 25px">姓名:<%#DataBinder . Eval(Container .DataItem ,"username")%></td>
</tr>
<tr>
<td height="20" colspan="2" align="left" valign="top" bgcolor="#FFFFFF">ID:<%#DataBinder . Eval(Container .DataItem ,"id")%> </td>
  <asp:LinkButton ID="LinkButton2" runat="server" OnClick="LinkButton2_Click" >删除</asp:LinkButton>
<td align="left" valign="middle" bgcolor="#FFFFFF" style="height: 10px">  时间:<%# DataBinder .Eval (Container .DataItem ,"createtime") %></td>
</tr>
</table>
  </ItemTemplate>
  </asp:Repeater>
protected void Page_Load(object sender, EventArgs e)
    {
      showInformation();

   
    }
  private string myconnectionstring = "server=127.0.0.1;uid=sa;pwd=;database=BBS;";
    protected void showInformation()
    {

        SqlConnection myconnection = new SqlConnection(myconnectionstring);
         string sql = "select * from content order by id desc";
         SqlCommand mycommand = new SqlCommand(sql, myconnection);
         myconnection.Open();
         SqlDataReader  myreader = mycommand.ExecuteReader();
         rpt1.DataSource = myreader;
         rpt1.DataBind();
        
}
  protected void LinkButton2_Click(object sender, EventArgs e)
{
}

TOP

你这样有错
你的LinkButton2是放在Repeater里面的
Repeater 是数据容器
在里面的控件在后台是无法直接找到的!
你可以把她写到Repeater的ItemCommand事件中
然后在你的LinkButton2控件上加一个属性CommandArgument
和一个CommandName属性  
其中属性CommandArgument就用来绑定你的ID

写法是
<asp:LinkButton ID="LinkButton2" CommandName="Delete" CommandArgument='<%#DataBinder . Eval(Container .DataItem ,"id")%>' runat="server">删除</asp:LinkButton>
CommandName属性可以自己定义值

在Repeater的ItemCommand时间中的写法是
switch (e.CommandName)
{
case "Delete":
string sql = "Delete from content where id = "+e.CommandArgument.ToString();
break;
}

e.CommandArgument.ToString()就是你要取得的ID

[ 本帖最后由 tomtory 于 2008-6-30 18:07 编辑 ]

[ 本帖最后由 tomtory 于 2008-6-30 18:08 编辑 ]

TOP

 11 12
发新话题