Asp.net 为每个doen';行不通

Asp.net 为每个doen';行不通,asp.net,user-controls,foreach,datasource,Asp.net,User Controls,Foreach,Datasource,我知道如何在asp.net页面上的for each语句中呈现userControl“GaleriaDetalhe”列表。通过这种方式,它会返回以下错误: 无法从“DataSource”属性的字符串表示形式“”创建类型为“SKortal.ImageGalery.ImageGalery”的对象 如何将foreach currentobject直接分配给usercontrol的datasource属性?怎么做 <%@ Register src="GaleriaDetalhe.ascx" tagn

我知道如何在asp.net页面上的for each语句中呈现userControl“GaleriaDetalhe”列表。通过这种方式,它会返回以下错误:

无法从“DataSource”属性的字符串表示形式“”创建类型为“SKortal.ImageGalery.ImageGalery”的对象

如何将foreach currentobject直接分配给usercontrol的datasource属性?怎么做

<%@ Register src="GaleriaDetalhe.ascx" tagname="GaleriaDetalhe" tagprefix="uc1" %>

<%  For Each g As ImageGalery In DataSource%>
<uc1:GaleriaDetalhe ID="GDetail" runat="server" DataSource="<% g %>" />
<% Next%>

更具体地说,我假装知道如何将对象指定给标记中的属性


提前感谢,

这不是创建列表的正确方法。乙醚使用中继器,乙醚使用
Page.LoadControl(“GaleriaDetalhe.ascx”)在每次需要时加载lise上的控件


使用转发器呈现控件列表。

您需要在代码中创建用户控件,并将它们添加到
占位符中。诀窍是使用
Reference
而不是
Register
(在ASPX页面中),因为这样可以像创建任何其他对象一样创建用户控件,而无需
page.LoadControl
(控件显示在ASP命名空间中)。然后,您可以将对象传递到其构造函数中,或者在其中创建公共属性


我的电脑显示了这些步骤。

好的,我知道,我通常使用中继器!!,这是一次体验,我正在尝试寻找更多“无状态视图”的som新解决方案。我的首要任务是知道如何将对象指定给标记中的属性。没有数据绑定@Flavio,如果没有ViewStates,请禁用viewstate,否则每次在循环中都需要加载控件,然后手动运行并初始化。是否有方法将对象分配给用户控件的属性?(我对此感兴趣!忘了for-each!)在标记方式上,不要假装覆盖了数据绑定@Flavio在使用LoadControl创建控件后,控件上的每个公共val/对象都可以分配该值。