ASP.NET无法动态地向页面添加新控件

时间:2013-04-08 00:57:45

标签: c# asp.net file-upload add dynamic-controls

我想动态地向页面添加一些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,但同样的结果也是如此。

我怎么能解决这个问题? 谢谢!

2 个答案:

答案 0 :(得分:0)

尝试将btn.ID作为控件的属性。

答案 1 :(得分:0)

你可以用这个

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