我想构建一个ASP.net用户控件,它使用Repeater遍历ObjectDataSource中的一些项目,我需要将其传递给用户控件。虽然我不确定如何传递对象数据源。有人知道怎么做吗?ASP.Net用户控件
0
A
回答
3
您可以在用户控件中创建一个属性并将其传递给中继器。
public class CustomUserControl
{
private Repeater repeater;
public ObjectDataSource DataSource
{
get
{
return this.repeater.DataSource;
}
set
{
this.repeater.DataSource = value;
}
}
}
0
如果你让你控件继承从CompositeDataBoundControl
[ToolboxData("<{0}:TopNav runat=server></{0}:TopNav>")]
public class TopNav : CompositeDataBoundControl
您可以在的DataSourceID分配给它。
<uc1:TopNav ID="YUITopNav1" runat="server" DataSourceID="ObjectDataSource1" />
然后在你控制你实现
protected override int CreateChildControls(IEnumerable dataSource, bool dataBinding)
{
this.Repeater1.DataSource = dataSource;
this.Repeater1.DataBind();
}
当数据源是数据从您的ObjectDataSource
1
未来下面是粗糙的步骤来做到这一点(未经测试)。
列表使您的usercontrol数据绑定控件。看看这篇文章来看一个例子http://geekswithblogs.net/mnf/articles/92205.aspx。
在使用您的usercontrol的页面中,声明性地或以代码形式将DataSourceId属性设置为您的对象数据源。
< UC1:YourUserControl的DataSourceID = “YourObjectDataSourceID”> </UC1:YourUserControl>
列表项经由声明性绑定表达绑定您的中继器到内部DataSourceID属性。
< ASP:中继器的DataSourceID = '<%#的DataSourceID%>'> </ASP:中继器>
相关问题
- 1. ASP.NET用户控件
- 2. 用户控件asp.net
- 3. ASP.Net用户控件事件
- 4. asp.net用户控件部署
- 5. Asp.Net MVC用户控件
- 6. ASP.net网页用户控件
- 7. 用户控件在asp.net
- 8. ASP.NET用户控件缓存
- 9. ASP.NET:通过用户控件
- 10. ASP.NET用户控件继承
- 11. asp.net用户控件绑定
- 12. C#ASP.NET MVC用户控件
- 13. ASP.NET Web用户控件(C#)
- 14. ASP.NET用户控件内容
- 15. Modal ASP.net用户控件
- 16. Asp.net MVC用户控件ViewData
- 17. asp.net中的用户控件
- 18. 用户控件和asp.net mvc
- 19. ASP.NET从另一个用户控件刷新用户控件
- 20. ASP.NET用户控件:检查,如果用户控件是可见
- 21. 在asp.net中嵌套用户控件通信的用户控件
- 22. ASP.NET MVC中的用户控件内的ASP.NET控件的命名
- 23. 用户控件的ASP.NET事件
- 24. ASP.Net用户控件 - VS事件连接
- 25. SharePoint Web部件和ASP.NET用户控件
- 26. ASP.NET用户控件 - 空引用?
- 27. 为ASP.NET用户控件启用回发
- 28. asp.net ajax调用用户控件
- 29. ASP.NET用户控件通用编辑器
- 30. 当使用用户控件在ASp.Net MVC
想知道,这可以通过将属性数据类型的`Object`如进行更加灵活的[Repeater.DataSource](http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.repeater.datasource.aspx)是 – User 2012-09-06 04:43:20
是的。 (11个更多的字符去...) – 2012-09-10 19:48:34