2012-03-29 1 views
0

2 개의 웹 페이지가 있습니다. 첫 번째 웹 페이지에는 사용자 입력을받는 텍스트 상자가 있습니다. 두 번째 페이지에서 렌더링되는 컨트롤의 수는 첫 번째 페이지의 사용자 입력을 기반으로합니다. 내가한 페이지의 세션 변수를 사용하여 vb.net에서 다른 페이지의 전역 변수를 초기화하는 방법?

Session("NoOfControlsToGenerate") = TextBox1.Text 

이제 세션 변수로 첫 페이지에서 사용자의 입력을 저장하고, 내가 전역 변수와 내가 무엇을 노력을 초기화 다음 페이지에서이 세션 변수를 사용하려면이

입니다
Dim num_Invitees As Integer = CType(Session("NoOfControlsToGenerate"), Integer) 

그러나이 때문에 NullReferenceException이 발생합니다.

누군가 내가 세션 변수를 사용하여 전역 변수를 초기화하고 또한 세션 변수의 값이 null 인 이유를 설명해야 할 수도 있습니다.하지만 함수 내부에서 사용할 때 제대로 작동합니까?

사전

감사 당신은

+2

의 ViewState가 세션과 동일하지 않습니다 사용할 수 있습니다 ... – Heinzi

+0

세션 상태가 서버에서 저장,의 ViewState는 브라우저에 저장됩니다. – Jodrell

+0

당신이 할 수있는 일은 요청 문자열에 요청자의 수를 요청의 일부로 전달하는 것입니다. 그러면 걱정할 국가는 없습니다. – Jodrell

답변

0

ASP.net은 믿을 수 없 쉽게 이러한 매개 변수를 전달하게 감사드립니다. 동일한 페이지로 다시 게시하는 경우 텍스트 상자의 값을 읽을 수 있습니다.이 값은 기본적으로 다시 게시를 통해 유지됩니다. 다른 페이지에 게시하는 경우

, 당신은

CType(Page.PreviousPage.FindControl("YourTextBoxID"), TextBox).Text 
관련 문제