ASP.NET не может динамически добавлять новые элементы управления на страницу

Я хочу динамически добавить некоторые 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);

Но безуспешно, когда я нажимаю Ctrl + U в ответе HTML с сервера, у меня есть:

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

В ответе HTML нет элементов управления, поэтому на отображаемой странице с сервера.

Пробовал не использовать ранее определенную панель и сделать ее динамически добавляемой в runat form, но опять тот же результат.

Как я мог исправить такую ​​​​проблему? Спасибо!


person Secret    schedule 08.04.2013    source источник
comment
Вы можете показать нам ошибку, которую вы получаете?   -  person Christian Mark    schedule 08.04.2013
comment
@oleg, вы также должны установить атрибут runat=server любого элемента управления asp.net   -  person Devjosh    schedule 08.04.2013
comment
@Devjosh в любом??? )))   -  person Secret    schedule 09.04.2013
comment
где вы добавили код для добавления кнопки и управления загрузкой файлов?   -  person Anuraj    schedule 03.06.2014


Ответы (2)


попробуйте включить btn.ID как свойство вашего элемента управления.

person Christian Mark    schedule 08.04.2013
comment
ваша панель под UpdatePanel? - person Christian Mark; 08.04.2013

вы можете использовать это

Style style = new Style();
style.BorderColor = System.Drawing.Color.Red;
fileUpload.ApplyStyle(style);
person Alireza Madad    schedule 03.06.2014