ASP .NET Repeater Control, содержащий LinkButton - PullRequest
1 голос
/ 11 октября 2011

Я отображаю список объектов учетных записей в ретрансляторе.Каждый объект содержит три поля, а именно studentID, studentName и studentAge.Я обернул его кнопкой ссылки .В результате каждый отдельный элемент, который отображается, кликабелен.Я также добавил обработчик кликов к кнопке ссылки.Проблема в том, как мне узнать, на какого студента нажали?Потому что изначально я хочу перейти на следующую страницу и отобразить данные конкретного учащегося.Как только я узнаю, на какого студента нажали, я могу сохранить его данные в объекте сеанса, а затем перейти на новую страницу и получить ее обратно.

Спасибо за вашу помощь.

Ответы [ 2 ]

4 голосов
/ 11 октября 2011

В вашем случае было бы лучше использовать обычную гиперссылку, передать идентификатор в виде строки запроса и получить новую страницу, чтобы получить подробную информацию.

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

Обновление:

Чтобы получить идентификатор студента на той же странице, используйте событие ItemCommand и укажите LinkButton следующим образом:

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

StudentID будет сохранен в свойстве CommandArgument, значение которого будет передано в обработчик события ItemCommand.

1 голос
/ 05 июля 2012
<asp:HyperLink ID="HyperLink1" runat="server" 
               NavigateUrl='<%# DataBinder.Eval(Container.DataItem,"studentID", "StudentDetails.aspx?Id={0}") %>'
               Text="Details" />
...