我想构建一个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:通过用户控件
- 6. ASP.NET Web用户控件(C#)
- 7. C#ASP.NET MVC用户控件
- 8. Asp.Net MVC用户控件
- 9. ASP.NET用户控件缓存
- 10. Asp.net MVC用户控件ViewData
- 11. asp.net中的用户控件
- 12. 用户控件在asp.net
- 13. ASP.NET用户控件继承
- 14. ASP.net网页用户控件
- 15. 用户控件和asp.net mvc
- 16. ASP.NET用户控件:检查,如果用户控件是可见
- 17. 在asp.net中嵌套用户控件通信的用户控件
- 18. ASP.NET从另一个用户控件刷新用户控件
- 19. ASP.NET MVC中的用户控件内的ASP.NET控件的命名
- 20. 用户控件的ASP.NET事件
- 21. ASP.Net用户控件 - VS事件连接
- 22. SharePoint Web部件和ASP.NET用户控件
- 23. 当使用用户控件在ASp.Net MVC
- 24. 为ASP.NET用户控件启用回发
- 25. ASP.NET用户控件 - 空引用?
- 26. ASP.NET - 使用AJAX加载用户控件?
- 27. Javascript未被ASP.NET用户控件调用
- 28. ASP.NET用户控件通用编辑器
- 29. asp.net ajax调用用户控件
- 30. ASP.NET MVC用户控件 - 将CSS专用于控件的位置?
想知道,这可以通过将属性数据类型的`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