我正在中继器中显示账户对象列表。每个对象都包含三个字段,分别是studentID,studentName和studentAge。我用link button包装了它。结果,显示的每个单独项目都是可点击的。我还为链接按钮添加了点击处理程序。问题是我怎么知道哪个学生被点击?因为最初我想导航到下一页并显示特定学生的详细信息。一旦我知道哪个学生被点击了,我就可以将他的详细信息存储在会话对象中,然后导航到新页面并将其恢复。包含LinkButton的ASP .NET转发器控件
感谢您的帮助。
我正在中继器中显示账户对象列表。每个对象都包含三个字段,分别是studentID,studentName和studentAge。我用link button包装了它。结果,显示的每个单独项目都是可点击的。我还为链接按钮添加了点击处理程序。问题是我怎么知道哪个学生被点击?因为最初我想导航到下一页并显示特定学生的详细信息。一旦我知道哪个学生被点击了,我就可以将他的详细信息存储在会话对象中,然后导航到新页面并将其恢复。包含LinkButton的ASP .NET转发器控件
感谢您的帮助。
在你的情况,这将是更好地使用正常的超链接,通过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
事件处理程序。
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# DataBinder.Eval(Container.DataItem,"studentID", "StudentDetails.aspx?Id={0}") %>'
Text="Details" />
不,我不能像下一页那样使用超链接我无权访问帐户对象列表。我需要在该页面上提取对象,然后通过会话变量传递给下一页。 – VVV
@VVV,我明白了。我以为你打算从数据库中加载记录。 – Amry
@VVV,更新了答案以符合您的要求。 :) – Amry