У меня есть страница с панелью. Что я хочу знать, есть ли способ написать код ASP.NET непосредственно в теге asp: panel во время выполнения (динамически)? В любом случае, используя AJAX или что-то в этом роде? На самом деле у меня есть панель, содержащая некоторые элементы управления и которая должна быть написана несколько раз в родительской панели динамически.Есть ли способ написать код ASP.NET только внутри панели, используя код C#?
ответ
Вы можете использовать теги <% %>
и разместить свой код внутри них.
Например, Вы можете установить ширину панели динамически с помощью:
<asp:Panel ID="Panel1" runat="server"
BorderColor="#990000"
BorderStyle="Solid"
BorderWidth="1px"
Height="116px"
ScrollBars="Both"
Width=<% YourWidthFunction() %>>
Edit: теперь я вижу, что вы пытаетесь достичь. Из вашего комментария я бы не рекомендовал использовать Response.Write()
.
Я хотел бы использовать:
var newPanel = new Panel();
var myLabel = new Label();
newPanel.Controls.Add(myLabel);
Вы можете добавить множество элементов управления, как вы хотите, чтобы панель по телефону: newPanel.Controls.Add(control);
Хорошее усилие, но я не думаю, что это именно то, чего хочет OP. Это непонятно из самого вопроса. Я понимаю эффект, который может иметь «динамическое» модное слово, но это не является строго динамическим. –
@ Mr.Disappointment - хорошо. Я предполагал, что он после чего-то вроде этого, если не удалю свой ответ. –
Спасибо @DarrenDavies, но ваш ответ не совсем так, как я хотел, но он дал мне подсказку об этом:
вы можете буквальным и писать в них код, или вы можете добавить элементы управления динамически на панели – Aristos
Я хочу знать о второй части. На самом деле у меня есть панель, содержащая некоторые элементы управления и которая должна быть написана несколько раз в родительской панели динамически. –
не так много думает знать, просто создайте элементы управления и используйте Panel.Controls.Add(); – Aristos