标签中的ASP.Net数据绑定

时间:2010-06-03 10:37:05

标签: asp.net data-binding

我知道你可以在代码隐藏中绑定,但如果你想在controls标签中声明它,我不太明白它是如何工作的。这是一个自定义集合。

我认为这只是

Datasource="<%# MyCollection %>"

MyCollection是后面代码中类的公开属性吗?

MyCollection{ get{ return _MyCollection;}}

这样的事情。但它似乎没有这种方式,所以我不能这样绑定,或者我错过了什么?

3 个答案:

答案 0 :(得分:0)

澄清您使用的控件。但无论如何 - &lt;%#%&gt; - 只是说你想从数据绑定容器中提取数据。但在你的情况下不是这样(你没有外容器)。

要解决您在页面加载时需要的问题,只需指定

即可
MyControl.Datasource = MyCollection

答案 1 :(得分:0)

无法以声明方式设置“DataSource”属性。是否真的有理由这样做而不是在后面的代码中绑定?

执行此操作的另一种方法是使用DataSourceID而不是DataSource以声明方式设置它,DataSourceID必须是IDataSource类型的控件的ID,如SqlDataSource。您需要创建一个实现此接口的自定义控件并将其作为数据源提供,但我再也看不到这样做的真正理由

答案 2 :(得分:0)

你应该能够做你所说的,是的。

http://support.microsoft.com/kb/307860

我认为你错过的是这个(引自上面的链接):

  

特定数据源之后   已确定并设定为   你必须在.aspx页面上的对象   将数据绑定到这些数据源。   您可以使用Page.DataBind或   Control.DataBind方法绑定   数据到数据源。

IIRC我认为你不必这样做,如果你想在数据绑定控件中有一个数据绑定控件 - 例如嵌套的中继器。在那种情况下,我认为设置DataSource已经足够了,但我可能会更正?

看看标题为“Page.DataBind()与Control.DataBind()”的部分。

另一页有一些例子在这里:
http://odetocode.com/articles/278.aspx