ASP.NET不能动态地添加新的控件到页面
我想动态地将一些FileUploads
添加到页面并控制它回发,因为如果使用纯html标签而不是asp.net控件,它可能会导致问题文件上传。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);
但没有成功,当我推Ctrl + U
从服务器HTML的响应,我有:
<div id="panelViewer" style="background-color:Azure;height:400px;width:400px;">
</div>
HTML响应中没有控件,所以在服务器的渲染页面中。
我试过不使用先前定义的面板,并使其动态添加到runat form
,但又是相同的结果。
我该如何解决这样的问题? 谢谢!
尝试将btn.ID
作为控件的属性。
已经尝试过,没有成功:( – Secret 2013-04-08 01:26:01
你的面板在'UpdatePanel'下吗? – 2013-04-08 01:44:42
你能告诉我们你得到的错误吗.. – 2013-04-08 02:10:17
您可以使用此
Style style = new Style();
style.BorderColor = System.Drawing.Color.Red;
fileUpload.ApplyStyle(style);
你能告诉我们你所得到的错误? – 2013-04-08 02:12:15
@oleg你还应该设置runat =任何asp.net控件的服务器属性 – Devjosh 2013-04-08 05:07:48
@Devjosh at any ??? ))) – Secret 2013-04-09 19:05:23