저는 지난 2 년 동안 ASP.NET (C#)을 사용해 왔습니다. 나는 많은 것을 배웠지 만, 여전히 훨씬 더 나는 결코 진정으로이 :)Web Forms 대신 웹 사용자 컨트롤 사용
나는 등 헤더, 탐색, 바닥 글 같은 것들에 대한 MasterPages, '웹 사용자 컨트롤'을 사용했습니다
한 가지 내용이있다 이해 귀하의 콘텐츠와 논리에 대한 웹 사용자 정의 컨트롤을 사용하는 관행이다;
저는이 구조를 사용하는 지난 몇 개월 동안 몇 가지 프로젝트를 진행해 왔습니다. 나는 이것이 실제로 일반적인 관행임을 알고 있지만 완전한 이익을 실제로 이해하지는 못합니다.
이전에이 접근법을 시도했을 때 Gridview와 같은 컨트롤에 대한 끔찍한 viewstate 문제가 발생했다는 것을 기억합니다 ... 일단 모든 로직을 꺼내서 .aspx 페이지에 배치하면 모든 것이 잘 작동합니다.
이제 GridView를 Viewstate 컬렉션에 추가해야 할 필요가 있음을 알았지 만, 이는 viewstate 문제를 고려할 때 왜이 접근 방식이 사용되는지 이해하는 데 어려움이 있습니다.
머리글, 메뉴, 바닥 글 등과 관련하여 '웹 사용자 정의 컨트롤'의 이점을 완전히 이해합니다. 복제본이 포함되어 있지만 어디에서나 본 프로젝트에는 페이지/컨트롤이 있습니다. 다른 말로는 다른 곳에서는 재사용되지 않을 것입니다. aspx 페이지에는 컨텐트와 로직이있는 컨트롤 (.ascx)이 포함되어 있으며 다른 페이지에서는 사용할 수 없습니다.
'코드 재사용'을 무시하면 어떤 이점이 있습니까? 이 경우
, 나는 (그 방법을 사용하여 어떤 혜택을 볼 수 없습니다 :
브라이언 (Brian)은 웹 컨트롤에 주석 형식과 같은 것을 넣으면 총체적인 이해를하게된다. 나는 이런 위젯을 컨트롤에 배치해야한다. 전체 페이지가 웹 컨트롤 안에 중첩되어 있습니다. 결국에는 일을 처리 할 방법이 아닙니다. .... Home.aspx에 'HomepageSlideshow.ascx', 'TwitterFeed.ascx'와 같은 여러 컨트롤이 포함되어 있으면 훨씬 더 의미가 있습니다. – Dal
@Dal. 기술적으로 다른 페이지와 웹 사용자 정의 컨트롤은 근본적으로 매우 유사하게 작동하지만 사용자가 취한 접근 방식을 위해서는 실제 목적이 있어야합니다. 더 자세한 정보가 없으면 확실한 이점은 없습니다. –