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