私は一般的に ASP.Net、C#、および OOP の初心者であり、クラス、オブジェクト、メソッドなどについて正しいパラダイムを理解しようとしています。
DataTable
Repeater.ItemDataBound イベントからアクセスしたいと思います。DataTable
メソッドがアクセスできるようにするには、どこに作成しますか? ItemDataBound が呼び出されるたびに DataTable を作成したくありません。一度だけです。それは別のクラスですか、それとも同じクラスの別のメソッドですか、それとも何か他のものですか?
HeaderTemplate
これを使用して、のコントロールに値を設定したいと考えていますRepeater
。これが私のコードです:
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
int numPages = 3, numItems = 10;
int[] parentRepeatCnt = Enumerable.Range(0, numPages).ToArray();
int[] childRepeatCnt = Enumerable.Range(0, numItems).ToArray();
ParentRepeater.DataSource = parentRepeatCnt;
ParentRepeater.DataBind();
foreach (int i in parentRepeatCnt)
{
Repeater ChildRepeater = ParentRepeater.Items[i].FindControl("ChildRepeater") as Repeater;
ChildRepeater.DataSource = childRepeatCnt;
ChildRepeater.DataBind();
}
}
public void ChildRepeater_ItemDataBound(Object Sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Header)
{
Label Label1 = e.Item.FindControl("Label1") as Label;
// access DataTable here
Label1.Text = myDataTable.Rows[0]["item"].ToString();
}
}
}
また、私の既存のコードを自由に批評してください。ありがとう!