1
그래서 두 개의 리피터가있는 TagFilter라는 사용자 정의 컨트롤이 있습니다. 컨트롤이 페이지에 N 번 추가되며 모든 리피터는 다른 데이터 테이블에 바인딩됩니다. 이 할당 때 내가 디버거에서 코드를 단계별로 할 때 여러 개의 데이터 테이블이 사용자를 만들려고 데이터 집합으로 통해동적 데이터 바인딩 사용자 컨트롤을 추가하려면 어떻게해야합니까?
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TagFilter.ascx.cs" Inherits="Hite.Web.Controls.TagFilter" %>
<div class="tagDiv">
<h3>
<span style="">Results By :</span>
<asp:Repeater ID="rptUsed" runat="server">
<ItemTemplate>
<span class="UsedTags">
<asp:ImageButton ID="ImageButton1" runat="server" OnCommand="UsedPops_Remove" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "tagid") %>'
ImageUrl="~/Images/errorIcon.png" />
<a href="#">
<%# DataBinder.Eval(Container.DataItem, "tagname") %></a> </span>
</ItemTemplate>
</asp:Repeater>
</h3>
<asp:Repeater ID="rptUnused" runat="server">
<ItemTemplate>
<b style="padding-left: 5px; padding-right: 5px;">
<asp:LinkButton ID="LinkButton1" runat="server" OnCommand="lbPop_Command" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "tagid") %>'><%# DataBinder.Eval(Container.DataItem, "tagname") %>
</asp:LinkButton></b>
</ItemTemplate>
</asp:Repeater>
<br />
</div>
public partial class TagFilter : System.Web.UI.UserControl
{
public DataTable UsedDT { get; set; }
public DataTable UnusedDT { get; set; }
public SearchParameters searchParams { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
rptUsed.DataSource = UsedDT;
rptUsed.DataBind();
rptUnused.DataSource = UnusedDT;
rptUnused.DataBind();
}
I 루프가
TagFilter tf = (TagFilter)Page.LoadControl("/Controls/TagFilter.ascx");
tf.UnusedDT = ds.Tables[3];
tf.UsedDT = ds.Tables[4];
tagdiv.Controls.Add(tf);
제어, 데이터 테이블은 행이 컨트롤에 있지만 page_Load에는 행이 없습니다. 누군가 내 오류를 찾으실 수 있습니까? 페이지 라이프 사이클 문제입니까?