编程论坛
注册
登录
编程论坛
→
ASP.NET技术论坛
repeater获得id
发布于 2008-06-29 20:10, 2816 次点击
在一个页面中有一个repeater控件中,其中有显示5条记录,我想获得其中一条记录的ID号,并在另一个页面中使用这个ID号,
该怎么写代码呢?
10 回复
#2
冰彩虹
2008-06-29 21:21
你把每条记录的ID也绑定到Repeater
#3
2008-06-29 21:27
绑定拉,但得到的ID号是最后一个记录的ID
#4
冰彩虹
2008-06-29 21:48
代码
#5
残影留香
2008-06-30 10:04
你有没有绑定在模板上?
#6
tomtory
2008-06-30 13:26
在<ItemTemplate>中绑定的时候将ID也绑定上
你可以专门放一个label控件来绑定这个ID,将label控件设置为隐藏
你在后台去ID的时候是在那个方法里面取的!??
是自定义方法吗?
#7
tomtory
2008-06-30 13:26
最好是把那点的代码发上来看看
#8
贝蕾
2008-06-30 13:38
有一个玩捉迷藏的……
#9
2008-06-30 15:00
<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)
{
}
#10
tomtory
2008-06-30 18:06
你这样有错
你的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 ()
{
case "Delete":
string sql = "Delete from content where id = "+();
break;
}
()就是你要取得的ID
[[it] 本帖最后由 tomtory 于 2008-6-30 18:07 编辑 [/it]]
[[it] 本帖最后由 tomtory 于 2008-6-30 18:08 编辑 [/it]]
#11
2008-06-30 22:03
谢谢,已经解决拉
1