首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Listview中的Listview问题

Listview中的Listview问题
EN

Stack Overflow用户
提问于 2011-01-25 02:40:44
回答 1查看 2.2K关注 0票数 0

如何在列表视图中使用列表视图?我有一个项目列表,每个项目都有一个标签列表。

代码语言:javascript
复制
<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1">
    <LayoutTemplate>
        <ul>
           <asp:PlaceHolder ID="itemPlaceholder" runat="server" />
        </ul>
    </LayoutTemplate>
    <ItemTemplate>
        <asp:Label ID="Label1" runat="server" Text='<%#Eval("title")%>'></asp:Label>
        <asp:ListView ID="ListView2" runat="server"            
             DataSource='<%#getTagDatasource((string)Eval("tags"))%>'>
                <LayoutTemplate>
                    <ul>
                         <asp:PlaceHolder ID="itemPlaceholder" runat="server" />
                    </ul>
                </LayoutTemplate>
                <ItemTemplate>
                     <asp:Label ID="Label2" runat="server" Text='<%#Container.DataItem%>'></asp:Label></div>
                </ItemTemplate>
        </asp:ListView>
    </ItemTemplate>
</asp:ListView>

第二个listview的数据源是一个字符串数组,其中包含标签列中包含的标签数组(是用',‘分隔的单个字符串。我在getTagDatasource方法中使用表中的tags.split(',‘)形成的数据源字符串数组。

现在这不起作用了,因为它显示无法将'System.DBNull‘类型的对象强制转换为'System.String’类型。

有没有人能解决我的问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-25 03:08:45

在getTagDatasource方法中,在开头执行此操作:

代码语言:javascript
复制
public string[] getTagDatasource(object data)
{
    if (!(data is string) || data == null)
       return new string[] { };

    return data.ToString().Split(",");
}

首先检查无效数据。

HTH。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4785775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档