我有一个webuser控件,里面有转发器控件,如下所示。
<asp:Repeater ID="repeaterInvoicesPaid" runat="server">
</asp:Repeater>
我只是将它拖到我的data.aspx页面。现在我在data.cs C#文件中有一个方法从表返回数据。我想问一下,如何绑定转发器(在用户控件内部) )?
它将被绑定到data.cs文件或Web用户控件自己的C#文件中。?
请告诉我如何从data.cs文件中的用户控件访问转发器ID?
提前致谢。
答案 0 :(得分:1)
至于问题1:你可以
我个人赞成最后一个选项
对于数据绑定选项,您可以选择公开内置数据绑定方法,也可以在设置源时进行数据绑定。
公开数据源可以像这样完成
public static object RepeaterDataSource {
get { return repeater.DataSource; }
set { repeater.DataSource = value; }
}
或制作一个设置方法,允许在设置时进行操作,如数据绑定。
问题2:实际绑定总是发生在转发器的位置。如果你需要一个OnItemDataBound处理程序,那么那个处理程序将位于usercontrol的代码隐藏中,无论你从哪里绑定它。但是你也可以揭露它,但我认为没有理由这样做。
问题3:如果你想要id,那么我假设客户端id。你可以用这样的东西得到它
public static string RepeaterClientID {
get { return theRepeater.ClientID; }
}
虽然我不确定你的意思是什么。如果你想要一个引用,那么
public static Repeater TheRepeater {
get { return theRepeater; }
set { theRepeater = value; }
}
最后,接受更多问题的答案,或完全删除它们。你的录取率很低。
答案 1 :(得分:1)
创建用户控制对象
UserControl usr = Page.FindControl(“usercontrolID”); Repeator rept = usr.FindControl(“repeatorControlID”);
rept.DataScourse = Datatbale; rept.DataBind();
答案 2 :(得分:0)
您始终可以在用户控件中创建一个返回转发器的公共属性。