在asp.net转发器中使用相册
我试图在公文包的转发器中生成一个相册(ListView),但无法使数据源正常工作在asp.net转发器中使用相册,asp.net,data-binding,Asp.net,Data Binding,我试图在公文包的转发器中生成一个相册(ListView),但无法使数据源正常工作 <asp:ObjectDataSource ID="odsPhotos" runat="server" EnablePaging="True" OldValuesParameterFormatString="original_{0}" SelectCountMethod="GetPagedSetCount" S
<asp:ObjectDataSource ID="odsPhotos" runat="server"
EnablePaging="True" OldValuesParameterFormatString="original_{0}"
SelectCountMethod="GetPagedSetCount"
SelectMethod="GetPagedSet" TypeName="Infrastructure.BLL.FlickrBLL" OnSelecting="odsPhotos_Selecting">
<SelectParameters>
<asp:Parameter DefaultValue="<%# Eval(Container.DataItem, "ProjPhotos")%>" Name="setId" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
基本上,我有一个Flickr帐户,一个转发器将查找基于相册的图像,并在ListView中显示这些图像,但我无法将相册id作为参数来正确工作
<asp:ObjectDataSource ID="odsPhotos" runat="server"
EnablePaging="True" OldValuesParameterFormatString="original_{0}"
SelectCountMethod="GetPagedSetCount"
SelectMethod="GetPagedSet" TypeName="Infrastructure.BLL.FlickrBLL" OnSelecting="odsPhotos_Selecting">
<SelectParameters>
<asp:Parameter DefaultValue="<%# Eval(Container.DataItem, "ProjPhotos")%>" Name="setId" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
目前,我在repeater中也获得了ObjectDataSource代码,而不是CodeBehind页面,但它仍然无法正确解析相册Id
<asp:ObjectDataSource ID="odsPhotos" runat="server"
EnablePaging="True" OldValuesParameterFormatString="original_{0}"
SelectCountMethod="GetPagedSetCount"
SelectMethod="GetPagedSet" TypeName="Infrastructure.BLL.FlickrBLL" OnSelecting="odsPhotos_Selecting">
<SelectParameters>
<asp:Parameter DefaultValue="<%# Eval(Container.DataItem, "ProjPhotos")%>" Name="setId" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
我一直得到的错误是:文字内容('试试这个 <asp:Parameter DefaultValue='<%# Eval(Container.DataItem, "ProjPhotos")%>' Name="setId" Type="String" />
这可能是文字连接问题。如@iamstapper所建议的,通过使用单引号而不是多引号来解决错误。在表达式中使用双引号时,始终必须这样做 我认为您也应该离开Containder.DataItem,如下所示:
<SelectParameters>
<asp:Parameter DefaultValue='<%# Eval("ProjPhotos")%>' Name="setId" Type="String" />
</SelectParameters>
但是,您真的需要为每个中继器项(即中继器中的中继器)提供单独的数据源吗?我认为您应该将对象数据源放在中继器之外
第二个选项是从代码隐藏文件初始化数据源。您可能必须通过代码设置默认值;它可能不直接支持绑定。