2012-10-11 3 views
0

나는 약 600px 너비의 페이지가 있습니다. 이 페이지에서는 동적으로 머리글 및 기타 텍스트를 가져 오는 Div를 표시하려고합니다. 텍스트는 데이터베이스에서 가져옵니다. Div는 다소 비슷하게 보이고 높이는 텍스트에 따라 다를 수 있습니다. (런타임시 두 Div 세트 만들기

enter image description here

그것은 두 세트로 나타나야 가 enter image description here

사업부 아래와 같이 표시한다 :

이 동적 본부 표시되어야되는 테이블이 같다 동적으로) 다른 레코드를 사용할 수있는 한 다른 하나만 표시해야합니다.

나는 샘플 사업부이 코드를 시도하지만, 나는이에 대한 현명한 방법이 있는지 알고 싶어

HtmlGenericControl divBlock = new HtmlGenericControl("div"); 
divBlock.ID = "Blockdiv"; 
divBlock.Attributes["style"] = "width: 120px; height: auto; background-color:grey"; 
divBlock.InnerHtml = "<div><table><tr><td>This is sample Div</td></tr></table></div>"; 

내 디자인 페이지의 양식 태그는 다음과 같습니다 주요 사업부를 포함 :

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

내가 그 안에 동적으로 생성 된 사업부를 삽입하고 :

답변

2

당신은

<asp:DataList runat="server" ID="NamesDL" RepeatColumns="2" RepeatDirection="Horizontal"> 
<ItemTemplate> 
    <div class="header"> 
     <%# Eval("CustomerName") %> 
    </div> 
    <div class="Details"> 
     <%# Eval("ProcessDetails") %> 
    </div> 
</ItemTemplate> 
</asp:DataList> 

코드 숨김에서

protected void Page_Load(object sender, EventArgs e) 
{ 
    NamesDL.DataSource = getDataFromDatabase(); 
    NamesDL.DataBind(); 
} 

Asp.net 처리해야 달성하기 위해 DataList 컨트롤을 사용할 수 있습니다 나머지

0

나는 constr에없는 것 이 InnerHTML을 동적으로 uct합니다. 동적 div라고 부르지 만 실제로 의미하는 바는 2 ~ 3 개의 정적 div가 있고 각각의 내용과 가시성을 제어하려고한다는 것입니다.

페이지에 정적 컨트롤을 만든 다음 코드 숨김에서 텍스트와 가시성을 변경하면됩니다.

각 div에 대해 사용자 정의 컨트롤을 만든 다음 코드가 표시되는 방식을 걱정하지 않고 코드에서 사용자 정의 컨트롤의 속성과 상호 작용할 수도 있습니다. 사용자 정의 컨트롤의 ascx (view)는 테이블이 어떻게 표시되는지, 또는 테이블 구조가 무엇인지 등을 제어합니다.

데이터베이스의 데이터를 기반으로 다양한 div가있는 경우 사용자 컨트롤을 사용하지만 데이터 소스에 바인딩하는 일종의 리피터 또는 목록 컨트롤에서 설정합니다.