ASP.NET, С#
Как видно из названия, мне было интересно, если кто-нибудь знает, как запрограммировать (С# код за файлом) добавить div в другой контейнер div (на странице aspx).
Заранее спасибо
ASP.NET, С#
Как видно из названия, мне было интересно, если кто-нибудь знает, как запрограммировать (С# код за файлом) добавить div в другой контейнер div (на странице aspx).
Заранее спасибо
//создаем новый экземпляр div и устанавливаем все значения, такие как идентификатор Проверьте пример короткого кода. Он работал у меня, чтобы создать Divs в веб-добавить
System.Web.UI.HtmlControls.HtmlGenericControl NewDiv = new
System.Web.UI.HtmlControls.HtmlGenericControl();
NewDiv.ID = "divcreated";
или
protected void Page_Load(object sender, EventArgs e)
{
System.Web.UI.HtmlControls.HtmlGenericControl createDiv =
new System.Web.UI.HtmlControls.HtmlGenericControl("DIV");
createDiv.ID = "createDiv";
createDiv.Style.Add(HtmlTextWriterStyle.BackgroundColor, "Yellow");
createDiv.Style.Add(HtmlTextWriterStyle.Color, "Red");
createDiv.Style.Add(HtmlTextWriterStyle.Height, "100px");
createDiv.Style.Add(HtmlTextWriterStyle.Width, "400px");
createDiv.InnerHtml = " I'm a div, from code behind ";
this.Controls.Add(createDiv);
}
Panel myChildPanel = new Panel();
myContainerPanel.Controls.Add(myChildPanel);
Помимо использования панели, такой как ocdecio, существует несколько других возможностей.
Это немного зависит от уровня контроля, который вам нужен. Тем не менее, в большинстве случаев лучше всего использовать панель, которая начинает невидимую:
<div>
<asp:Panel Visible="false" id="MyPanel" runat="server">
</asp:Panel>
</div>
Затем измените видимость с вашего кода при необходимости.
В одном случае, когда вы можете использовать один из других методов, вы застряли в каком-то файле CSS, который присваивает стили на основе идентификатора. В этом случае использование элементов управления .NET на самом деле не является вариантом. Но на самом деле, вы должны ударить своего дизайнера над головой и попросить вместо него использовать имена классов.
Используйте asp: Панель, которая отображается в div.
Это может быть очень старый вопрос, но я хотел бы добавить свое решение для помощи:
Во-первых, к "div", который у вас уже есть на вашей странице (тот, который вы хотите добавить еще "div" в), дает свойство runat = "server", чтобы вы могли получить к нему доступ из кода позади, это будет выглядеть это:
<div id="superDIV" class="someCssClass" runat="server"></div>
Затем в вашем методе Page_Load() добавьте следующее:
protected void Page_Load(object sender, EventArgs e)
{
//We create our new div
System.Web.UI.HtmlControls.HtmlGenericControl newDiv =
new System.Web.UI.HtmlControls.HtmlGenericControl("DIV");
newDiv.ID = "newSuperDIV"; //<---Give and ID to the div, very important!
newDiv.Style.Value = "background-color:white; height:61%;"; //<---Add some style as example
newDiv.Attributes.Add("class", "amazingCssClass"); //<---Apply a css class if wanted
superDiv.Controls.Add(newDiv); //<---Add the new div to our already existing div
}
Генерируйте свой div непосредственно внутри функции Page_Load, чтобы гарантировать, что существует после любой обратной передачи, не генерировать ее внутри кодовых блоков, например (! IsPostBack) {}, иначе не будет на вашей странице.