C# ビハインド コードでデータベース レコードに従って複数の DIV を作成しています。それらをサーバーで実行するにはどうすればよいですか?
前もって感謝します ..
ASP.NETPanels
を作成して追加します。
コード
<asp:Panel id="abc" runat="server">
次の場合とまったく同じです。
<div id="abc" runat="server">
それらは同じようにレンダリングされますが、Panel が最もよく使用されるのは他のWebControlsの機能であり、Panel Web コントロールは、より多くのプロパティを公開するため、コード ビハインドでより多くの制御を提供します。
サーバー側でにアクセスする場合DIV
は、 を追加することもできrunat="server"
ます。として作成されHtmlGenericControl
ます。
を作成HtmlGenericControl
してコントロール コレクションに追加するだけです。
HtmlGenericControl div = HtmlGenericControl("div")
div.Id = "myid";
this.Controls.Add(div);
データを取得して希望どおりにレンダリングするカスタム コントロールを使用します。このような種類:
public class MyDivControl : System.Web.UI.Control
{
private System.Data.DataTable tblMyResults;
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
// Get your Data (or do it on Page_Load if you'll need it more than once
if (tblMyResults != null && tblMyResults.Rows.Count > 0)
{
int iIndex = 0;
foreach (System.Data.DataRow rItem in tblMyResults.Rows)
{
writer.WriteLine("<div id=\"{0}_{1}\">", this.ClientID, iIndex++);
//Whatever content you want here using your rows.
writer.WriteLine("</div>");
}
}
}
}
次に、レンダリングするページにコントロールをドロップします。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="Solution.Web.Presentation.pub._default" MasterPageFile="~/ui/master/main.master" %>
<%@ Register TagPrefix="custom" Namespace="MyNameSpace" Assembly="MyProjectAssembly" %>
<asp:Content runat="server" ContentPlaceHolderID="cntMain">
<custom:MyDivControl runat="server" />
</asp:Content>
リピーターコントロールが使える
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<div id="box<%# Eval("ID")%>" runat="server"></div>
</ItemTemplate>
</asp:Repeater>
コードビハインドからデータをバインドする