2016-10-25 2 views
0

마스터 페이지가 포함 된 C# 웹 사이트가 있습니다. 따라서 사용자가 사이트를 처음 열 때 사용자가 어디에 있는지 알려주는 스크립트를 실행하고 싶습니다. 나는 그 정보를 숨겨진 필드에 쓸 것이며, 그 정보를 참조 할 필요가있을 때마다 나는이 숨겨진 필드에서 정보를 가져올 것입니다.한 번만 실행할 수있는 부분은 어디에 두겠습니까?

그래서이 참조를 코드 숨김에 넣으면 어디서 한 번만 실행됩니까? 나는 if (!IsPostBack) 내부에 넣으려고했는데 protected void master_Page_PreLoad(object sender, EventArgs e)인데 작동하지 않았다.

제안 사항?

+1

세션 저장소를 사용하여 아직 쿼리했는지 여부를 감지하고 저장하십시오. 페이지로드시 해당 작업을 수행 할 수 있습니다. – musefan

+2

필드의 내용을 확인하는 것이 가장 좋은 이유는 무엇입니까?어쩌면 세션 변수가 더 적절할 수도 있습니다. –

+1

사람들이 사이트를 여러 번 방문한다고 가정하면 이것을 쿠키로 저장할 수 있습니다. –

답변

0

하면에 Global.asax 페이지으로 session_start 방법에서의 값을 지정할 수 있어도 session_start 방법은 사용자가 로그인 한 후 세션에 저장된 값이 될 것이다 번만 세션이 생성 될 때 실행할

void Session_Start(object sender, EventArgs e) 
{ 
    setValue(); 
} 

protected void setValue(){ 
    session["DefaultValue"]="test"; 
} 

응용 프로그램 전체에 액세스 할 수 있습니다.

+0

질문에 따라 나는 이것이 작동 속임수가되어야한다고 생각한다. –

+0

사이트가 로그인해야하는 경우 쿠키 또는 사용자 프로필을 사용할 수도있다. – pseudocoder

+0

이것은 일반적인 관행이며 대개 Session_Start()에 @pseudocoder가있는 이유입니다. –

1

음, HiddenField는 요구 사항에 맞지 않습니다.

선호하는 지속성 메커니즘을 먼저 선택하는 것이 좋습니다.

  • 보기 상태
  • 제어 상태
  • :이 덮여 메커니즘의 목록입니다

    ASP.NET State Management Overview

    : 다음은 ASP.NET에서 사용할 수있는 모든 지속성 메커니즘을 나열하는 훌륭한 MSDN 페이지입니다

  • 숨겨진 필드
  • 목록 항목
  • 쿠키
  • 쿼리 문자열
  • 응용 프로그램 상태
  • 세션 상태
  • 프로필 속성 나는 당신의 문제에 대해 알고있는 것을 근거로이 중

는, 나는에보고 추천 쿠키, 세션 상태 또는 프로필 속성 이 3 가지 메커니즘은 사용자 당 데이터를 추적하며 웹 응용 프로그램 전체에서 지속될 수 있습니다.

원하는 메커니즘을 구현하고, 코드를 시도하고, 다른 문제가있는 경우 새로운 질문을 게시하십시오.

0

데이터베이스에서 데이터에 액세스하는 경우 로그인 후 데이터를 검색하여 세션에 저장할 수 있습니다.

Google지도를 사용하여 데이터에 액세스하는 경우 마스터 페이지에서 Ispostback 세션의 데이터를 확인한 다음 클라이언트 페이지에서 스크립트를 실행하여 hiddenfield에 값을 저장하십시오. 세션 데이터가 null 인 경우 포스트 백 후에 세션에 숨겨진 필드의 값을 저장합니다.