2013-07-08 4 views
2

현재 웹 양식 중 하나에서 코드 표로 StringBuilder 개체로 전체적으로 빌드 된 HTML 테이블을 표시 한 다음 InnerHtml으로 설정 한 ASP.NET WebForms 응용 프로그램을 검토하고 있습니다. div 요소웹 컨트롤 vs StringBuilder

웹 콘트롤 (대체로 Repeater 일 가능성이 있음)을 사용하여 렌더링되는 내용에 대한 프런트 엔드 가시성이 향상됩니다.

순수한 코드 숨김 로직보다 웹 컨트롤을 사용하면 성능상의 이점이 있습니까? 아니면이 모든 렌더링 엔진에 동일하게 동일합니까?

+0

필자는 코드 유지 관리가 더 중요하지만 성능과 관련이 없다고 생각합니다. StringBuilder는 상태와 같은 동적 메시지에 사용할 수 있습니다. 그렇습니다. webcontrols에는 viewstate가 있지만 필요하지 않은 경우에는 비활성화하는 것이 좋습니다. – Sunny

+0

리피터는 html을 빌드하므로 좋지만 스트링 빌더보다 느립니다. 내게는 리피터를 사용하면 내부 페이지 또는 내 많은 사람들이 보지 못하는 페이지에 사용할 것입니다. 그것은 무거운 트래픽 페이지면 내가 stringbuilder를 사용하는 것이기 때문에 그것은 빠른 그러나 그것은 그려야 다시 않습니다. 예를 들어 html을 추가 할 때 코드 뒤에서 엉망이 될 수 있습니다. 또 다른에 내가 div 대신 literalcontrol 함께 문자열 작성기를 사용합니다. StringBuilder sb = 새 StringBuilder; sb.Append ("

Hello World

"); litControl.text = sb.toString(); – Neo

답변

2

특정 질문에 대한 대답을 얻으려면 StringBuilder을 사용하면 리피터와 같은 서버 컨트롤을 사용할 때보 다 성능이 좋습니다.

그러나 지원의 관점에서 볼 때 나중에 코드를 지원하기 위해 올 수있는 다른 사람과 페이지가하는 일을 잘 알고 있어야합니다.

성능이 주요 요인 인 경우, 나는 항상 컨트롤을 통해 StringBuilder을 사용합니다.

성능 관련 질문/답변과 마찬가지로 필요에 따라 코드를 테스트하고 적용해야합니다. 필요하지 않은 경우 성능 향상을 포함시키지 마십시오. 대부분의 경우 성능을 위해 작성된 코드는 지원하기가 더 어렵습니다.