ASP.NET, C#
Както подсказва заглавието, чудех се дали някой знае как програмно (c# код зад файл) да добави div към друг контейнер div (в aspx страницата).
Благодаря предварително
ASP.NET, C#
Както подсказва заглавието, чудех се дали някой знае как програмно (c# код зад файл) да добави div към друг контейнер div (в aspx страницата).
Благодаря предварително
//създайте нов екземпляр на div и задайте всички стойности като ID Вижте краткия пример за код. За мен проработи създаването на Divs в уеб добавка
System.Web.UI.HtmlControls.HtmlGenericControl NewDiv = new
System.Web.UI.HtmlControls.HtmlGenericControl();
NewDiv.ID = "divcreated";
or
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);
}
Освен използването на панел като предложения от ocdecio, има няколко други възможности.
Зависи малко от нивото на контрол, от което се нуждаете. И все пак, при повечето обстоятелства панел, който започва да е невидим, би бил най-добрият:
<div>
<asp:Panel Visible="false" id="MyPanel" runat="server">
</asp:Panel>
</div>
След това променете видимостта от задния код, когато е необходимо.
Един от случаите, в които може да искате да използвате един от другите методи, е когато сте заседнали с някакъв CSS файл, който присвоява стилове въз основа на ID. В такъв случай използването на .NET контроли всъщност не е опция. Но наистина трябва да ударите своя дизайнер по главата и да му кажете да използва имена на класове вместо това.
Използвайте asp:Panel, който се свързва с 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){}, в противен случай той няма да съществува във вашата страница.