2010-06-17 5 views
-1

모든 TabPanel에 다른 페이지의 내용이 포함되는 방식으로 ASP.Net TabContainer-Control을 사용하는 것이 좋습니다. 예를 들면 다음과 같습니다. 다음으로 내 응용 프로그램에 구현하려는 masterdata 관리가 있습니다. 일반적으로 모든 masterdata 테이블 (예 : 고객 -> MD_Customer.aspx)에 대해 하나의 aspx 페이지를 만듭니다. 그런 다음이 페이지에 내 메뉴에 링크를 추가합니다. 이제 모든 종류의 Masterdata에 대해 Tabcontainer 및 UpdatePanel을 사용하여 모두 (Masterdata.aspx)에 대해 하나의 aspx 페이지를 만드는 방법을 생각해 보았습니다. 메뉴에 링크하면 MDType이 URL-Parameter로 추가 될 수 있습니다. 나의 주요 관심사는 성능과 관련이 있습니다 (모든 TabPanel에 대한 하나의 "페이지"는 현재 7 "페이지"를 의미합니다). 복잡성이 증가함에 따라 유지 보수성이 향상되었습니다.여러 페이지에 TabContainer를 사용해야합니까?

좋은 접근인가 나쁜 생각입니까?

감사

답변

1

내가 ASP.Net 모르겠지만,의 WinForm 응용 프로그램에서 탭의 추가 복잡성을 처리 할 수있는 한 가지 방법은 다음 주 각 탭 페이지의 내용이 별도의 사용자 제어 할 수 있도록하고, 폼은 탭 컨트롤 자체를 다루고 올바른 사용자 컨트롤을 보여줘야합니다.
ASP.Net에는 사용자 정의 컨트롤이 있으므로 비슷한 것을 할 수 있습니다.

+0

ASP.Net TabContainer의 TabPanel은 Panel이 사용 가능할 때만 내용이로드되기 때문에 이미 UserControl과 유사합니다. TabPanel이 활성화 될 때 동적으로로드 된 하나의 UserControl에 모두 넣는 것이 더 복잡해집니다. 어쨌든 고마워. –

+0

@Tim : 로딩에 대해서는 잘 모르겠지만, 사용자 컨트롤에 넣는 이유는 컨트롤을 많이 처리해야하는 거대한 페이지로 끝나지 않도록 코드를 분리하는 것입니다. 각 사용자 정의 컨트롤에는 포함 된 모든 컨트롤을 처리하기위한 코드가 있습니다. –

+0

하나의 UserControl에 많은 로직을 넣는 데 나쁜 경험을했기 때문에 나는 여전히 UserControl 접근 방식에서 확신하지 못했습니다. 그들은 전혀 재사용 할 수 없으며 페이지의 대체물 일뿐입니다. 그래서 나는 어떤 상당한 이점도없이 (?) 사용자 컨트롤 (이벤트/페이지 수명주기)의 복잡성과 함정을 얻을 수 있습니다. –

1

ho1처럼 사용자가 제어하는 ​​각 탭의 콘텐츠를 분명히 만들어야한다고 말했습니다.

이미 지적했듯이 성능이 좋지는 않습니다. 이 문제를 극복하기 위해 탭에서 사용자 정의 컨트롤을 느리게로드 할 수 있습니다.

+0

각 탭의 내용은 활성화 된 탭이 아닌 경우에만로드됩니다. 그렇다면 usercontrols를 사용하면 아무런 차이가 없지만 더 복잡하게 만듭니다. –

+0

이 컨텍스트에서 게으른로드는 무엇을 의미합니까? TabPanels은 활성화/활성화 될 때만로드됩니까? –

+0

이것이 당신이 의미 한 것입니까? http://mattberseth.com/blog/2007/07/how_to_lazyload_tabpanels_with.html –

관련 문제