簡體   English   中英

使用ASP.Net根據表中的內容動態地將Div添加到我的網頁

[英]Adding Div dynamically to my web page as per the contents in the table using ASP.Net

我希望在我的網頁上顯示表中的每個單獨記錄,如果表中的記錄增加,則div的數量也應該增加。
我如何使用ASP.net實現這一目標。
如果有人可以指導我,因為我是ASP.Net的新手
先感謝您

如前所述,使用MVC將是一個很好的方法,但你將不得不學習一點使用它。 根據當前情況,您可以使用專為您想要完成的設計而設計的中繼器。

假設您的數據庫看起來與此類似。

id int  primary key 
name  nvarchar(50)

etc ... //假設您的asp.net頁面中的數據庫數據現在位於"dataFromDatabase"中,只需定義一個這樣的轉發器

<div id="content">
   <asp:repeater id="repeaterData" runat="server">
   <HeaderTemplate>
     <Table>
        <tr>
           <th>Id:</th>
           <th>Name : </th>
        </tr>
   </HeaderTemplate>
     <ItemTemplate>
       <td><%#Eval("id")%></td>
       <td><%#Eval("name")%></td>
     </ItemTemplate>
   <FooterTemplate>
     </Table>
   </FooterTemplate>
</repeater>
</div>

並在您的.aspx.cs頁面中

將轉發器與您的數據源綁定

repeaterData.DataSource = dataFromDatabase
repeaterData.DataBind();

這就是你需要做的就是讓它運行起來......

並且使用GridView會更簡單你只需要將它從ToolBox拖到你的aspx文件並選擇你的數據源視覺​​和violla你完成了......不需要編碼.....雖然你將不得不做一些編碼編輯,刪除和一些花哨的東西......

希望能幫助到你。

聽起來你正在尋求實現轉發器類

編輯以下是根據上述鏈接提出的一些示例代碼:

<asp:Repeater
    DataMember="string"
    DataSource="string"
    DataSourceID="string"
    EnableTheming="True|False"
    EnableViewState="True|False"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnItemCommand="ItemCommand event handler"
    OnItemCreated="ItemCreated event handler"
    OnItemDataBound="ItemDataBound event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    runat="server"
    Visible="True|False"
>
        <AlternatingItemTemplate>
            <!-- child controls -->
        </AlternatingItemTemplate>
        <FooterTemplate>
            <!-- child controls -->
        </FooterTemplate>
        <HeaderTemplate>
            <!-- child controls -->
        </HeaderTemplate>
        <ItemTemplate>
            <!-- child controls -->
        </ItemTemplate>
        <SeparatorTemplate>
            <!-- child controls -->
        </SeparatorTemplate>
</asp:Repeater>

您可以使用gridviewrepeater來解決您的問題。

Gridview基本示例
http://www.codeproject.com/Articles/23471/Editable-GridView-in-ASP-NET-2-0

中繼器基本示例
http://www.w3schools.com/aspnet/aspnet_repeater.asp

如果您對ASP.NET完全陌生,我建議使用ASP.NET MVC框架而不是WebForms。 最終這是一個品味問題,但MVC框架的設計目的是讓編寫高質量的代碼變得容易,所以如果你開始新鮮,你也可以從一開始就學會做好。

最好的起點可能是ASP.NET MVC官方網站 他們有一個很好的“入門”指南,以及從絕對初學者到高級網絡開發等級的大量教程

對所有WebForms粉絲的旁注:我絕對不是說你不能用WebForms編寫高質量的代碼 - 但是,如果你環顧互聯網,你發現的大多數例子都是構造不良和充滿反模式的。 從ASP.NET MVC Framework開始,您發現的Web資源有更高的機會展示出良好的實踐,而不是快速入侵。

要么:

 for(int i= 0;i<10i++){
            label.text="<div>"+something+"</div>"+label.text
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM