2013-04-30 7 views
2

Webmatrix를 사용하여 사용자가 다른 버튼을 클릭 할 때 다른 융합 차트를 렌더링합니다. 예를 들어 "유럽"버튼을 클릭하면 그래프가 표시됩니다. 유럽의 평균 기온, 미국, 미국 평균 기온 등을 클릭하면 ...Webmatrix - cshtml 페이지에서 aspx 페이지로 변수 전달하기

cshtml 페이지에는 로그인 성공 후 세션 변수 UserId가 저장되며 (ispost) 코드가 전체 cshtml 페이지를 새로 고치면 버튼을 클릭하는 경우 그러면 업데이트 된 그래프가 포함됩니다.

새로 고침시 cshtml 페이지 내에 소스가 "Using_MS_SQL_Server.aspx"라는 파일 인 iframe이 있습니다.이 파일은 다음과 같이 ms SQL 데이터베이스에 저장 프로 시저를 실행하여 채워진 xml 파일을 만듭니다.

SqlCommand query = new SqlCommand(
    "EXEC ON_WEBSITE_SQL_DB.dbo.AVG_TEMPS_PER_CONTINENT " 
    + AREA + ", " + USERID, conn); 

당신이 알 수 있듯이, 저장된 프로 시저에 연결하는 두 개의 변수가 있습니다 : AREA 및 USERID ...

aspx.cs 페이지의 코드 내에서 그것이 그대로 내가 쉽게 USERID 변수를 호출 할 수 있습니다 세션 변수는 MembershipUser user = Membership.GetUser();을 사용합니다.

AREA 변수를 기다리는 저장 프로 시저에서 사용하기 위해 사용자가 aspx 페이지를 클릭하는 cshtml 페이지에서 "EUROPE"값을 갖는 변수를 전달하려면 어떻게합니까?

+0

aspx url의 쿼리 문자열로 전달할 수 있습니까? – TGH

+0

샘플에 SQL 삽입이 있습니다. 이를 제거하고 매개 변수화 된 쿼리를 사용하여 안전한 코드로 질문을 업데이트하십시오. –

+0

@TGH : 당신이 그것을 못 박았 ... 그것은 작동합니다! 훌륭해, 고마워! – Mark

답변

1

달성 할 수있는 유일한 방법은 세션/쿠키 또는 쿼리 문자열을 사용하는 것입니다.

전달하는 데이터가 중요한 정보가 아닌 경우 쿼리 문자열로 이동하십시오. 민감한 경우 ASPX의 Page_Load에서 해독 할 수있는 세션 또는 쿠키 값을 암호화하는 것이 좋습니다.

관련 문제