2015-01-28 8 views
0

GridView가있는 페이지가 있습니다. GridView에는 선택 버튼이 있습니다. 일반적으로 GridView의 선택된 인덱스 변경 이벤트를 사용하여 사용자가 선택 버튼을 클릭 할 때 모든 종류의 작업을 수행합니다. 그러나 이제 표보기의 선택된 행을 기반으로 Page_Load 이벤트에서 일부 작업을 수행하려고합니다. Selected_Index_changed 이벤트는 Page_Load 이후에 발생하므로 페이지로드 이벤트에서 다음과 같은 사항을 어떻게 알 수 있습니까?page_load 이벤트에서 선택한 GridView 행을 찾는 방법은 무엇입니까?

나는 asp lifecyclethis 다른 질문을 확인했지만 어떻게 해야할지 잘 모릅니다.

+0

에? 왜 당신은'SelectedIndexChanged' 이벤트를 사용할 수 없습니까? 적절한 이벤트 처리기 (아마도 버튼 클릭 이벤트)를 사용하고 [GridView.SelectedRow'] (https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.)를 통해 액세스하십시오. gridview.selectedrow (v = vs.110) .aspx). 이것을 위해'Page_Load'를 사용하지 마십시오. –

+0

사용자의 선택에 따라 일부 버튼을 동적으로 생성하므로 해당 버튼에 "클릭 이벤트"를 지정해야합니다. ASP 라이프 사이클 때문에 이러한 이벤트는 page_load 이전에 할당되어야합니다. – Redder

+0

이벤트를 추가해야 할뿐만 아니라 모든 포스트 백에서 컨트롤 자체를 다시 만들어야합니다. –

답변

0

QueryString을 사용하여 선택된 행을 전송 한 다음 Page_Load 이벤트에서 QueryString 매개 변수를 가져 오는 것은 어떻습니까? 이것은 하나의 예입니다. 당신은`Page_Load`에서 그렇게해야 할 일을 당신이하려고하는 이유는

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

아니요, Page_Load에서 Request.QueryString ("QueryStringName")을 사용할 수 있습니다. –