MVC会员数据库上下文?

时间:2012-08-08 15:39:16

标签: asp.net-mvc vb.net asp.net-mvc-3 asp.net-membership

如何连接到成员资格数据库以检索用户帐户列表?例如,我有这个连接到我的个人资料:

    Private db As UserProfileDbContext = New UserProfileDbContext

    '
    ' GET: /UserProfile/

    Function Index() As ViewResult
        Return View(db.UserProfiles.ToList())
    End Function

帐户模型中似乎没有指定任何用户帐户数据库上下文。我应该创建一个,还是有更好的方法将所有用户帐户检索到上面的列表中?

编辑:

我在控制器中有这个代码:

'
' GET: /Account/ViewRegistries

Function ViewRegistries() As ViewResult
    Return View(Membership.GetAllUsers().Cast(Of MembershipUser).ToList)
End Function

我的观点:

@ModelType IEnumerable(Of MyBlog.RegisterModel)

@Code
    ViewData("Title") = "Index"
End Code

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table>
    <tr>
        <th>
            UserId
        </th>
        <th>
            CompanyId
        </th>
        <th></th>
    </tr>

@For Each item In Model
    Dim currentItem = item
    @<tr>
        <td>
            @Html.DisplayFor(Function(modelItem) currentItem.UserName)
        </td>
        <td>
            @Html.DisplayFor(Function(modelItem) currentItem.Company)
        </td>
    </tr>
Next

</table>

但它会产生错误:

  

传递到字典中的模型项是类型的   'System.Collections.Generic.List 1[System.Web.Security.MembershipUser]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable 1 [MyBlog.RegisterModel]'。

我该如何解决?

1 个答案:

答案 0 :(得分:2)

您可以使用会员提供者:

Membership.GetAllUsers()

注册用户后,将返回数据库中所有用户的列表。