Listing AspNetUsers and AspNetRoles



请帮忙查找错误,或者提出另一种方法:

我试图将AspNetUsers的列表显示为ListView,然后通过使用嵌套的ListView显示其AspNetRoles的列表:

<asp:ListView runat="server" ItemType= "CEODAL.AspNetUser" SelectMethod="GetAspNetUsers" >
<LayoutTemplate>
    <h4>Registered Users</h4>
    <table class="table">
        <tbody>
            <tr runat="server" id="itemPlaceholder"></tr>
        </tbody>
    </table>
</LayoutTemplate>
<ItemTemplate>
    <tr>
        <td><%#: Item.UserName %></td>
        <td>
            <asp:ListView ID="Repeater1" runat="server" ItemType="CEODAL.AspNetRole" SelectMethod="<%#: Item.AspNetRoles.ToList() %>">
                <LayoutTemplate>
                    <h4>Registered Users</h4>
                    <table class="table">
                        <tbody>
                            <tr runat="server" id="itemPlaceholder2"></tr>
                        </tbody>
                    </table>
                </LayoutTemplate>
                <ItemTemplate>
                    <tr>
                        <td>
                            <%#: Item.Name %>
                        </td>
                    </tr>
                </ItemTemplate>
            </asp:ListView>
        </td>
    </tr>
</ItemTemplate>

ListViewSelectMethod将返回AspNetUsers的列表:

return _db.AspNetUsers.ToList();

没有子ListView,一切工作正常,在那里我将得到用户名列表。

一旦我把第二个ListView,我将得到以下错误:

一个名为'System.Collections.ObjectModel.ObservableCollection ' 1的公共方法。

在"ASP.pages_manageusers_aspx"类型上有多个同名的方法。

尝试替换

属性
SelectMethod="<%#: Item.AspNetRoles.ToList() %>">

在内部ListView中使用

DataSource="<%# Item.AspNetRoles.ToList() %>">

你得到一个错误,因为SelectMethod属性有一个字符串值(代码隐藏方法的名称调用),你正在传递一个角色对象的ObservableCollection。很明显,代码隐藏类没有方法的名称是将集合转换为字符串的结果,因此出现错误

相关内容

  • 没有找到相关文章

最新更新