ASP.Net 用户控制
我正在尝试构建一个 ASP.net 用户控件,该控件使用 Repeater 来迭代 ObjectDataSource 中需要传递给用户控件的多个项目。 我不确定如何传递对象数据源。 有人知道怎么做吗?
I'm trying to build an ASP.net user control that uses a Repeater to iterate over a number of items in an ObjectDataSource that I need to pass in to the user control. I'm not sure how to pass the object data source in though. Any one know how to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以在用户控件中创建一个属性并将其传递给转发器。
You can create a property in the user control and pass it to the repeater.
以下是执行此操作的粗略步骤(未经测试)。
列表使您的用户控件成为数据绑定控件。 查看这篇文章以查看示例 http://geekswithblogs.net/mnf/articles/92205.aspx。
在使用用户控件的页面中,以声明方式或以代码方式将 DataSourceId 属性设置为对象数据源。
列表项通过声明性绑定表达式将转发器绑定到内部 DataSourceId 属性。
Below are the rough steps to do this (untested).
List make your usercontrol a databound control. Take a look at this article to see an example http://geekswithblogs.net/mnf/articles/92205.aspx.
in the page that is consuming your usercontrol set the DataSourceId property declaratively or in code to your object data source.
<uc1:YourUserControl DataSourceId="YourObjectDataSourceID"></uc1:YourUserControl>
List item Bind your repeater to the internal DataSourceId property via a declarative binding expression.
<asp:repeater DataSourceId='<%# DataSourceId %>'></asp:repeater>
如果您让控件继承自 CompositeDataBoundControl,
则可以为其分配 DataSourceID。
然后在你的控制中实现
其中 dataSource 是来自 ObjectDataSource 的数据
If you make you control inherit from CompositeDataBoundControl
you can assign the DataSourceID to it.
then in you control you implement
Where the dataSource is data coming from your ObjectDataSource