包含LinkBut​​ton的ASP .NET Repeater控件

时间:2011-10-11 01:56:59

标签: asp.net repeater linkbutton

我在转发器中显示帐户对象列表。每个对象包含三个字段,即studentID,studentName和studentAge。我用link button包裹它。结果,显示的每个单独项目是可点击的。我还在链接按钮上添加了一个单击处理程序。问题是我怎么知道哪个学生被点击了?因为最初我想导航到下一页并显示该特定学生的详细信息。一旦我知道点击了哪个学生,我就可以将他的详细信息存储在会话对象中,然后导航到新页面并将其取回。

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

在您的情况下,最好使用普通超链接,将ID作为查询字符串传递,并让新页面获取详细信息。

<asp:HyperLink runat="server" 
               NavigateUrl='<%# Eval("studentID", "StudentDetails.aspx?id={0}") %>'
               Text="Details" />

<强>更新

要将studentID放在同一页面上,请使用ItemCommand事件代替LinkButton,如下所示:

<asp:LinkButton runat="server"
                CommandName="StudentDetails"
                CommandArgument='<%# Eval("studentID") %>' />

studentID将存储到CommandArgument属性中,该值将传递给ItemCommand事件处理程序。

答案 1 :(得分:1)

<asp:HyperLink ID="HyperLink1" runat="server" 
               NavigateUrl='<%# DataBinder.Eval(Container.DataItem,"studentID", "StudentDetails.aspx?Id={0}") %>'
               Text="Details" />