ASP.NET、C#
タイトルが示すように、プログラムで (c# コード ビハインド ファイル) div を別のコンテナー div (aspx ページ) に追加する方法を誰かが知っているかどうか疑問に思っていました。
前もって感謝します
ASP.NET、C#
タイトルが示すように、プログラムで (c# コード ビハインド ファイル) div を別のコンテナー div (aspx ページ) に追加する方法を誰かが知っているかどうか疑問に思っていました。
前もって感謝します
// div の新しいインスタンスを作成し、ID などのすべての値を設定します 短いコード例を確認してください。WebアドでDivを作成するのはうまくいきました
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);
}
ocdecio のような Panel を使用する以外にも、いくつかの可能性があります。
必要な制御のレベルによって少し異なります。それでも、ほとんどの状況では、非表示で開始するパネルが最適です。
<div>
<asp:Panel Visible="false" id="MyPanel" runat="server">
</asp:Panel>
</div>
次に、必要に応じて分離コードから可視性を変更します。
ID に基づいてスタイルを割り当てる CSS ファイルに行き詰まっている場合は、他の方法のいずれかを使用する必要があります。その場合、.NET コントロールを使用することは実際にはオプションではありません。しかし、実際には、デザイナーの頭を殴って、代わりにクラス名を使用するように指示する必要があります。
これは非常に古い質問かもしれませんが、解決策を追加したいと思います。
まず、ページに既にある "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){}のようなコード ブロック内で生成しないようにします。そうしないと、ページに存在しません。