У меня есть страница с панелью. Что я хочу знать, есть ли способ написать код ASP.NET непосредственно в теге asp:panel во время выполнения (динамически)? В любом случае, используя AJAX или что-то в этом роде? На самом деле у меня есть панель, которая содержит некоторые элементы управления и должна быть записана несколько раз в родительской панели динамически.
Есть ли способ написать код ASP.NET только внутри панели, используя код C#?
Ответы (1)
Вы можете использовать теги <% %> и поместить в них свой код.
Например, вы можете динамически устанавливать ширину панелей, используя:
<asp:Panel ID="Panel1" runat="server"
BorderColor="#990000"
BorderStyle="Solid"
BorderWidth="1px"
Height="116px"
ScrollBars="Both"
Width=<% YourWidthFunction() %>>
Изменить: теперь я вижу, чего вы пытаетесь достичь. Из вашего комментария я бы не рекомендовал использовать Response.Write().
Я хотел бы использовать:
var newPanel = new Panel();
var myLabel = new Label();
newPanel.Controls.Add(myLabel);
Вы можете добавить на панель столько элементов управления, сколько хотите, вызвав: newPanel.Controls.Add(control);
person
Darren
schedule
22.05.2012
Хорошая попытка, но я не думаю, что это именно то, чего хочет ОП. Из самого вопроса непонятно. Я понимаю эффект, который может иметь модное словечко «динамический», но это не строго динамический.
- person Grant Thomas; 22.05.2012
@Mr.Disappointment - ну ладно. Я предполагал, что он был после чего-то подобного, если нет, я удалю свой ответ.
- person Darren; 22.05.2012
Спасибо @DarrenDavies, но ваш ответ не совсем такой, как я хотел, но он дал мне подсказку о том, как поступить следующим образом ‹asp:panel›‹% response.write(TAGS); %› ‹/asp:panel› теперь хочу спросить, что это будет работать?
- person Aishwarya Shiva; 22.05.2012
asp:repeaterсItemTemplate? - person Filburt   schedule 22.05.2012