我正在中繼器中顯示賬戶對象列表。每個對象都包含三個字段,分別是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