2015-11-11 33 views
1

我想要介紹一下創建ASP.NET Web應用程序的方法。使用C#代碼隱藏向ASP.NET Web應用程序動態添加表格

應用程序(在.aspx.cs文件中)設計用於在一組文本文件中查找目錄。對於每個文本文件,我想使用文本文件中的信息在.aspx文件中創建/修改表格。

到目前爲止,我已經創建了具有ID屬性的asp:Table控件。然後使用TableRow & TableCell方法在我的.aspx.cs文件中建立一個表格,並使用ID屬性將它們添加到表格中。

這一切都很好,並全部用硬編碼。我已經開始取消它並創建一個for循環來循環查找文本文件的目錄。然後抓取文本文件的名稱,我想用它來修改具有相同名稱的asp:table控件。但是我不能在文本文件名稱上調用同一個表格方法,因爲它是一個字符串。

所以最後我的問題是,這是正確的方法嗎?我在表格的.aspx文件中硬編碼asp:table controls我會知道(文本文件名稱)的名稱,然後嘗試使用C#後面的代碼更新它們?如果是這樣,它只是在C#中使用將綁定到asp:table控件的文本文件名創建一個表實例的情況?

對不起,如果這是非常複雜 - 今天第一次使用asp.net。

+1

這並不是說我得到的問題100%,但你爲什麼不只是去一個單面板,然後在需要時創建表格,行和單元格,以及何時可以設置它們,然後將它們添加到面板中。 IT也可能會更好地使用中繼器,這取決於您的數據,雖然不能告訴太多的問題。 –

+0

這就是我最後所做的。我試圖在.aspx文件中完成一半的工作,在.aspx.cs文件中完成一半的工作,這讓我感到困惑。我在.aspx文件中添加了一個主面板,然後繼續執行.aspx.cs文件中的所有工作。謝謝。 – Garreth

+0

是的,這應該工作得很好。如果你真的做了一半,你可以得到你的數據並將其提供給中繼器,並使用他們的OnItemDataBound來播放數據等。 –

回答

1

您應該能夠從處理文件的循環內的代碼創建表格控件。您可以在標記中使用佔位符控件,並將表格控件添加到佔位符的控件集合中。

在的.aspx: <asp:PlaceHolder runat="server" ID="tablePlaceHolder"></asp:PlaceHolder>

在.aspx.cs:

foreach (var file in files) { 
    var id = GetIdFromFileName(file); // derive ID from file 
    var tblControl = new Table {ID = id}; 
    tablePlaceHolder.Controls.Add(tblControl); 

    // create rows and cells for the table control as appropriate 
    // based on the content of the file 
    } 
相關問題