簡體   English   中英

ASP.NET無法動態地向頁面添加新控件

[英]ASP.NET Can't dynamically add new controls to the page

我想向頁面動態添加一些FileUploads並對其進行回發控制,因為如果使用純HTML標記而不是asp.net控件,則可能導致文件上傳出現問題。

我已經在ASPX頁面中定義了面板:

<asp:Panel ID="panelViewer" BackColor="Azure" Width="400" Height="400" runat="server">
</asp:Panel>

並且在<% %>標簽中嘗試動態添加正確數量的文件上傳表單。 文件上載表格的數量取決於表中的MySQL記錄,對於用戶而言可能有所不同。

我試圖動態添加,所以只是為了開始:

Button btn = new Button();
btn.Text = "click me!";
panelViewer.Controls.Add(btn);

FileUpload fileUpload = new FileUpload();
fileUpload.BorderColor = System.Drawing.Color.Red;
panelViewer.Controls.Add(fileUpload);

但是沒有成功,當我在服務器的HTML響應中按Ctrl + U時,我得到了:

<div id="panelViewer" style="background-color:Azure;height:400px;width:400px;">
</div>

HTML響應中沒有控件,因此服務器呈現的頁面中也沒有控件。

我嘗試過不使用早期定義的面板,而是將其動態添加到runat form ,但結果相同。

我該如何解決這個問題? 謝謝!

嘗試將btn.ID包含為控件的屬性。

你可以用這個

Style style = new Style();
style.BorderColor = System.Drawing.Color.Red;
fileUpload.ApplyStyle(style);

暫無
暫無

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

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