2013-05-21 65 views
-1

我需要將經典asp應用轉換爲asp.net。 舊的asp使用硬編碼的html表格來獲得結果。 我不確定如何在.Net中獲得相同的結果。如何在asp.net中生成這個html表?

我需要生產一個網格一樣的樣子。

Section Heading 

Name:P Smith 
Address: 12 The road 
Age: 22 

New Section Heading 

Job num: 24 
Dept: Sales 

New Section Heading 

Insurance num: 93939 
Next of kin: J Smith 

每個部分都有一個使用它自己的存儲過程的獨立數據集。 每個部分的每個數據集都會返回一條記錄。

我試過中繼器明細列表控制,但無法獲得所需的外觀。

任何幫助&代碼讚賞。

+0

使用formview。然後使用sql(或任何連接)數據源並綁定它 – DiederikEEn

+0

或一個正常的GridView並在那裏連接你的數據源 – Mingebag

+0

試試這與中繼器控制,使用數據集來保存多個表的UI不同部分的UI工作。 – user2110717

回答

2

您需要三個不同的控件和三個不同的綁定。然後你會把它渲染成一個單一的HTML表格,如果這就是你想要做的。中繼器應該工作得很好,因爲你可以用中繼器很好地控制HTML。粗略地...

<table> 
    <asp:Repeater ...> 
     <HeaderTemplate> 
      <tr><th colspan="2">Section Heading</th></tr> 
     </HeaderTemplate> 
     <ItemTemplate> 
      </tr><td>Name</td> <td><%#DataBinder.Eval(Container, "DataItem.Name")%></td></tr> 
      // etc... 
     </ItemTemplate> 
    </asp:Repeater> 

    <asp:Repeater ...> 
     <HeaderTemplate> 
      <tr><th colspan="2">Section Heading</th></tr> 
     </HeaderTemplate> 
     <ItemTemplate> 
      <tr><td>Name</td> <td><%#DataBinder.Eval(Container, "DataItem.Name")%></td></tr> 
      // etc... 
     </ItemTemplate> 
    </asp:Repeater> 

    // Repeat using repeaters and outputting rows and then close the table tag. 

</table> 

然後,你可以設計你的TH細胞的樣式,然而你想區分它們與TD細胞。

+0

我在想這個,但是我想知道如果我在1個表單中說了6箇中繼器,它可能會減慢頁面的速度。 – user65697

+0

我認爲通過結合使用多種數據源的方式,中繼器本身不會影響你的頁面。如果數據是相關的並且每行都有一行,那麼最好在一個sproc中合併和展開SQL端的數據,然後使用單個綁定的formview。這將是處理這種類型數據的最有效方式。 – Tombala

+0

謝謝 - 是否有可能在中繼器中使用條件。在舊的asp他們使用 \t \t \t \t <%如果rsProperty( 「的startDate」)AND rsProperty( 「結束日期」)<> 「NULL」。然後%> \t \t \t \t \t <%= rsProperty( 「開始日期」)%>  至  <%= rsProperty( 「結束日期」)%> \t \t \t \t \t <%Else%> \t \t \t \t <%End If%> \t \t \t – user65697