2015-01-28 2 views
0

У меня есть страница с GridView. В GridView есть кнопка выбора. Обычно я использую событие с измененным индексом, выбранное индексом GridView, для выполнения всех видов операций, когда пользователь нажимает кнопку выбора. Но теперь я хочу сделать некоторые операции в событии Page_Load на основе выбранной строки сетки. Поскольку событие Selected_Index_changed происходит после Page_Load, как я узнаю следующее в событии загрузки страницы.Как найти выбранную строку GridView в событии page_load?

Я проверил asp lifecycle и this другой вопрос, но я не знаю, как это сделать.

+0

Почему вы должны сделать это в 'Page_Load', что вы пытаетесь сделать? Почему вы не можете использовать событие «SelectedIndexChanged»? Используйте соответствующий обработчик событий (возможно, событие с нажатием кнопки), а затем получите доступ к нему через ['GridView.SelectedRow'] (https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols. gridview.selectedrow (v = vs.110) .aspx). Не используйте для этого 'Page_Load'. –

+0

Потому что я создаю динамически некоторые кнопки на основе выбора пользователя, и мне нужно назначить «click event» для этих кнопок. Из-за жизненного цикла asp эти события должны быть назначены на page_load или раньше. – Redder

+0

Не только события должны быть добавлены, но даже элементы управления сами должны быть созданы заново после каждой обратной передачи. –

ответ

0

Как насчет использования QueryString для передачи какой строки был выбран, а затем в событии Page_Load получить параметры QueryString? Это пример.

Protected Sub LinkButton1_Command(sender As Object, e As CommandEventArgs) 
    Dim UserId As Integer = e.CommandArgument 'Here goes whatever value you're trying to pass 
    Response.Redirect("~/OtherPage.aspx?UserId=" _ 
          & UserId) 
End Sub 

Это в OtherPage.aspx

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load 

    UserId = Request.QueryString("UserId") 
    'Your code 
end sub 
+0

Когда я могу получить это значение на gridview.SelectedIndexChanged, и это происходит после Page_Load. – Redder

+0

Нет, вы можете сделать Request.QueryString («QueryStringName») в Page_Load. –