2011-07-01 6 views
0

설문 조사 시스템을 만드는 중입니다. 이 설문 조사는 모든 HTML 입력 유형에 대해 몇 가지 질문을 가질 수 있으며 질문에는 여러 가지 옵션이있을 수 있습니다. 현재,이 데이터를 통해 루핑을하고 StringBuilder를 사용하여 HTML을 작성한 다음 innerHTML을 사용하여 div에 적용합니다. html의 복잡성을 감안할 때 StringBuilder가 최상의 옵션이라는 것을 알았습니다.미확인 html 출력 (C#)

이 데이터를 출력하는 다른 방법을 연구 중이지만 하나는 리피터이지만 리피터 또는 다른 컨트롤은이 작업에 적합하지 않습니다. StringBuilder 사용에 문제가 없습니다. 그것은 일을 끝낸다. 그러나 일부 사람들은 StringBuilder를 사용하여 싫어합니다. 나는 다른 사람들의 의견을 듣고 싶다.

+1

정확히 누가 stringbuilder를 사용하고 있니? ASP.net에서 코드를 작성하는 것에 익숙해 져서 HTML을 렌더링하는 것이지, Stringbuilder 클래스는 렌더링하지 않는 것 같습니다. – JohnFx

+0

이것은 사용자 제어 질문 유형 유형의 상황 인 것 같습니다. – Marc

답변

2

일반적인 html이 아닌 webcontrols를 사용하는 것이 좋습니다.

예를 들어, 테이블을 만들고 질문에 따라 런타임에 텍스트 상자, 확인란 및 목록 상자 컨트롤을 바인딩 할 수 있습니다. 그런 다음이를 반복하고 포스트 백에서 값을 읽을 수 있습니다.

제 의견으로는 전체 html 출력을 작성한 다음 제출자에 대한 처리기를 작성하는 것보다 훨씬 간단합니다.

+0

지금 이것을 실험하고 있습니다. 이것은 올바른 길을가는 것처럼 들립니다. –

1

ASP.NET 폼 컨트롤 대신 html을 사용하기를 선호한다면 ASP.NET 폼이 아닌 ASP.NET MVC로 전환하는 것이 좋습니다. 그것은 그런 종류의 사용을 위해 훨씬 더 자연스러운 방식으로 뷰를 생성하는 것을 지원합니다.

+0

아마도 그랬 겠지만 그건 내 결정이 아닙니다. –

1

@ChrisBint에 동의하는 캠프에 단단히 있습니다. 상황이 있습니다 - -

그러나 ... 사용자 정의 컨트롤을 사용하여이 같은 물건을 할 필요가 -도 (우리가 알고있는 모두를 위해, 당신이 이미 사용하고있는) 사용자 지정 컨트롤 내에서.

http://msdn.microsoft.com/en-us/library/system.web.ui.htmltextwriter.aspx

마크 업 문자를 기록하고 : MS가 자신의 통제 안에 사용하는 것입니다 -이 경우

, 나는 출력을 생성하는 지정된 HtmlTextWriter를 사용하여 사용자 지정 서버 컨트롤을 구현하는 것이 좋습니다 텍스트 ASP.NET 서버 컨트롤 출력 스트림. 이 클래스는 클라이언트에 태그를 렌더링 할 때 형식의 ASP.NET 서버 이 사용하는 기능을 제공합니다.