2014-10-07 2 views
0

내 프로그램에서 테이블에 구성된 문자열을 페이지에 인쇄하는 기능이 있습니다.코드 표 뒤에서 코드 표시

getWhileLoopData(){   
     string htmlStr = ""; 
     SqlConnection thisConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);  
     SqlCommand thisCommand = thisConnection.CreateCommand();  
     thisCommand.CommandText = "SELECT * from events";  
     thisConnection.Open();  
     SqlDataReader reader = thisCommand.ExecuteReader();  
     while (reader.Read()){  
      int room_id = reader.GetInt32(0); 
      string title = reader.GetString(1);     
      htmlStr += "<tr><td>" + title + "</td></tr>";       
     }  
     thisConnection.Close();  
     return htmlStr; 
} 

.aspx 페이지에서 나는 <%=getWhileLoopData()%>에 의해 호출합니다. 하지만 문제는 내가 비슷한 것을 가지고있는 page_load(object sender, EventArgs e) 함수에서 페이지를 열 때 문자열에 테이블 값을 추가한다는 것입니다.

page_load() 함수 출력에서 ​​화면으로 문자열을 만드는 방법은 무엇입니까?

+0

결과가 무엇인지 잘 모르시겠습니까? 결과를 표시 할 수 있습니까? 당신이 말하고자하는 바를 여기서부터 지정하십시오. – user3267755

+0

''테이블 값을 문자열에 추가한다 '는 것이 무엇을 의미하는지 명확하게 설명해 주시겠습니까? 이것이 바로 여러분의 코드가하는 일입니다. 수동으로 문자열을 작성하지 않고'reader '로부터 HTML 테이블을 채우는 방법을 묻고 있습니까? –

+0

또한이 방법으로 문자열을 연결하여 HTML을 작성하는 것은 매우 비효율적이며 유지 관리가 어렵습니다. 이것은 PHP가 아닙니다. –

답변

0

나는 runt 서버로 div를 얻는 것이 좋다고 생각합니다. 그런 다음 함수를 호출하여 HTML 코드로 innerhtml 속성을 설정하십시오. codebehinde

test.innerhtml="<p>Hi</p>" 
1

당신이 어떤 데이터를 기반으로 페이지에 넣을 특정 HTML이있는 경우, 더 좋은 방법은 기존의 .NET 컨트롤 중 하나를 사용하는 것, 예를 들어,에서

<div id="test" runat="server></div> 

DataSource에 연결된 Repeater. DataSource는 데이터베이스 또는 List (기본적으로 IEnumerable을 구현하는 모든 것) 일 수 있습니다.

선택적으로 WebControl에서 상속하여 고유 한 컨트롤을 만들고 렌더링 이벤트를 재정 의하여 HTML을 렌더링 할 수 있습니다. MyNewCustomControl이 컨트롤을 삽입합니다 : 사용자 정의 제어 경로를 이동하는 경우

, 당신은 단지

영문 엔진은 XYZ가 발생
<XYZ:MyNewCustomControl runat="server" SomeProperty="SomeValue" ... /> 

,

<%@ Register TagPrefix="XYZ" NameSpace="XYZ.MyControlsNameSpace" Assembly="MyControlsAssembly" %> 

그런 다음 그것을 사용하는 같은 것을 할 것 그 시점의 페이지에 넣고 페이지 이벤트 수명주기를 통해 실행하면 렌더링 이벤트가 발생하여 렌더링 이벤트가 발생합니다.이 이벤트는 모두 HTML이 페이지에 주입됩니다.

+0

+1은 기성품 컨트롤을 사용합니다. 이 질문을 토대로 사용자 지정 컨트롤을 구현하는 것이 약간 진보 된 것일 수 있습니다. –

관련 문제