2014-07-17 3 views
0

Microsoft WebMatrix를 사용하여 기본 웹 응용 프로그램을 만듭니다. 개발 프로세스의 속도를 높이기 위해 WebMatrix 프로그램을 통해 제공되는 '시작 사이트'를 사용하기로 결정했습니다.WebMatrix를 사용하여 두 C# ASP.NET 페이지간에 데이터베이스 쿼리 결과 전달

내 사이트에서 내 페이지 중 하나에 표시 할 테이블이 너무 넓어서 사용자가 브라우저 창의 오른쪽으로 많은 양을 스크롤해야하는 디스플레이 문제가 발생했습니다.

테이블에 DB 쿼리가 채워지고 있으며 디스플레이 문제를 해결하는 가장 좋은 방법은 IFrame을 사용하는 것입니다. 그러나 IFrame은 테이블을 직접 가져갈 수 없기 때문에 추가 웹 페이지에서 '채워야'합니다. 이제 내 응용 프로그램의 페이지간에 데이터베이스 쿼리 결과를 전달해야합니다.

세션 변수를 사용하여이 작업을 시도했지만 실제 키 데이터와 값 쌍을 보유하고있는 것처럼 보입니다. 반면 데이터베이스 쿼리 결과는 배열과 매우 유사합니다. 다음과 같이 내 페이지의 상단에

나는 데이터베이스 쿼리에 대한 변수 선언을 -

var db = Database.Open("AU"); 
var resultSetH = db.Query("SELECT 1;"); 

(I 위의 단순화)

지금의 'resultSetH'변수를 전달해야

(C#) ASP 페이지 (WebMatrix 내).

의도 한 작업을 어떻게 수행 할 수 있습니까? MVC를 사용하지 않고 이것이 가능합니까?

+0

[ASP 클래식] (http://stackoverflow.com/tags/asp-classic/info)으로 태그를 지정했습니다. 이는 [ASP.NET] (http://stackoverflow.com/tags/asp.net/info)과 분명히 다릅니다. 태그를 업데이트하여 사용중인 것을 명확히해야합니다. – mason

답변

1

아니요, 아니요, 아니요! 일부 데이터를 화면에 표시 할 수 없기 때문에 iframe을 사용하는 것은 좋은 해결책이 아닙니다. iframe은 종종 추가 문제를 만듭니다. 대신 고정 폭 및 scroll bars div를 사용하십시오.

<div style="overflow: auto; width: 500px">Your really long data here.</div> 

세션에는 키 값 쌍이 있지만 값은 모든 개체가 될 수 있습니다. 그러나 세션은 특정 페이지에 묶여 있지 않기 때문에 페이지간에 데이터를 전달하기에는 좋지 않은 선택입니다. 따라서 동일한 세션에서 여러 창/탭이 열리는 상황을 처리하기가 어려워지고 사용자가 혼란스러워 지거나 중단 될 수 있습니다 너의 어플리케이션. 대신 쿼리 문자열 매개 변수를 제공하여 데이터를 새 페이지로 전달할 수 있습니다. 이 경우 iframe에 다른 페이지를 임베딩하는 것이 좋지 않을 것이므로 그렇게하기를 권해 드리지는 않습니다.하지만 세션에 직렬화 가능한 내용을 저장할 수 있다는 점을 분명히 밝히고 싶습니다.