我知道你可以绑定在代码隐藏中,但我不太明白它是如何工作的,如果你想在控件标签中声明它。这是一个自定义集合。标签中的ASP.Net数据绑定
我以为那只是
Datasource="<%# MyCollection %>"
哪里MyCollection的是类在后面的代码中暴露的财产?
MyCollection{ get{ return _MyCollection;}}
就是这样的。但它似乎并没有这样工作,所以我不能以这种方式绑定,或者我错过了什么?
我知道你可以绑定在代码隐藏中,但我不太明白它是如何工作的,如果你想在控件标签中声明它。这是一个自定义集合。标签中的ASP.Net数据绑定
我以为那只是
Datasource="<%# MyCollection %>"
哪里MyCollection的是类在后面的代码中暴露的财产?
MyCollection{ get{ return _MyCollection;}}
就是这样的。但它似乎并没有这样工作,所以我不能以这种方式绑定,或者我错过了什么?
的“数据源”属性不能以声明方式设置。有没有真正的理由这样做,而不是绑定在后面的代码?
执行此操作的替代方法是通过使用DataSourceID而不是DataSource来声明性地设置它,DataSourceID必须是像SqlDataSource类型的IDataSource类型的控件的ID。你需要制作一个自定义控件来实现这个接口,并将其作为数据源提供,但是我没有看到这样做的真正原因
澄清你使用什么控制。但无论如何 - <%#%> - 只是说你想从数据绑定容器提取数据。但在你的情况下不是这样的(你没有外部容器)。
要解决你的问题,你需要在页面加载刚刚分配
MyControl.Datasource = MyCollection
这只是其中有通用控制数据源属性。 Repeater,DropDownList等 – Psytronic 2010-06-03 10:43:10
你应该可以做你刚刚说的,是的。
http://support.microsoft.com/kb/307860
我想你已经错过了位是这样(从上面的链接引用):
特定数据源已经 被确定并在该 对象设定后.aspx页面,您必须将 绑定到这些数据源。 可以使用Page.DataBind或 Control.DataBind方法将 数据绑定到数据源。
IIRC我认为你不必这样做,如果你想在一个数据绑定控件中有一个数据绑定控件 - 例如,嵌套中继器。在这种情况下,我认为设置数据源就够了,但我可能会纠正?
看一看,在标题为“)与Control.DataBind的Page.DataBind(()”
另一个网页的一些例子是在这里:
http://odetocode.com/articles/278.aspx
不,没有真正的原因,只是它没有填写后面的代码。和好奇心。 – Psytronic 2010-06-03 11:30:12