2010-03-09 6 views
17

나는 ItemTemplate을 가진 asp : FormView를 가지고있다. 좀 DIV 요소로 FormView 내 컨텐츠를 디자인하고 싶습니다 : asp : FormView를 테이블로 렌더링하지 못하도록하는 방법은 무엇입니까?

<table id="MyFormView" style="border-collapse: collapse;" border="0" cellspacing="0"> 
    <tbody> 
     <tr> 
      <td colspan="2"> 
       <div class="block1"> 
        Stuff... 
       </div> 
       <div class="block2"> 
        Stuff... 
       </div> 

       ... 

       <div class="blockN"> 
        Stuff... 
       </div> 
      </td> 
     </tr> 
    </tbody> 
</table> 

이 사실 테이블이 다소 불안하다 :

<asp:FormView ID="MyFormView" runat="server" > 
    <ItemTemplate> 
     <div class="block1"> 
      Stuff... 
     </div> 
     <div class="block2"> 
      Stuff... 
     </div> 

     ... 

     <div class="blockN"> 
      Stuff... 
     </div> 
    </ItemTemplate> 
</asp:FormView> 

나는 다음과 같은 HTML이 생성 된 응용 프로그램을 실행할 때. 내용을 자유형으로 바꾸려면 ItemTemplate을 사용하지만 그 내용을 테이블로 묶는 것이 목적이 무엇인지 모르겠습니다.

이 동작을 해제하거나 해결할 수 있습니까? (필자는 FormView 속성에서 플래그를 찾을 수 없습니다.)

+0

ListView가 유용할까요? LayoutTemplate을보다 잘 제어 할 수 있습니다. –

+0

다른 방법이 없다면 이것을 고려해 볼 수 있습니다. 하나의 객체 만 목록에 표시 할 수 있습니다. 따라서 가장 자연스러운 컨트롤은 첫눈에 FormView 인 것처럼 보였습니다. 어쨌든 팁 주셔서 감사합니다! – Slauma

답변

3

사용 리피터

<asp:Repeater runat=server ID="r1"> 
<HeaderTemplate><div></HeaderTemplate> 
<ItemTemplate>Zzz</ItemTemplate> 
<FooterTemplate></div></FooterTemplate> 
</asp:Repeater> 

또는

를보다 효율적으로 사용 제어 adapters (가 빛 버전과 완벽하게 사용자 정의) :

+0

흠, 첫 번째 옵션 ("귀하의 (div) 템플릿 사용")은 무엇을 의미합니까? 귀하의 마크 업 예제는 정확히 내가하고있는 것입니까, 아닙니다. – Slauma

+0

죄송합니다. 리피터를 사용하는 것이 좋습니다 – garik

+2

질문에 대답하지 않습니다. FormView에 렌더링을 '테이블'(ASP.NET 4.0에서)으로 중지시킬 수 있습니다. –

55

FormView에서 RenderOuterTable="false"을 설정할 수 있습니다.

+4

fyi, 이것은 ASP.NET 4.0의 새로운 기능입니다 http : //www.4guysfromrolla.com/articles/032410-1.aspx –

+2

RenderOuterTable이 FormView 컨트롤에서 비활성화되어있는 동안 'Width'스타일 속성을 사용할 수 없습니다. –

+0

당신이 최고의 사람입니다! –

10

다음 코드를 사용하십시오.

RenderOuterTable="false" 

FormView에 넣습니다. .NET 4.0에서 작동합니다.

관련 문제