繁体   English   中英

ASP.NET MVC4显示所有注册的用户名

[英]ASP.NET MVC4 displaying all registered Users name

我在使用剃刀在c#,html进行编程时遇到问题,显示默认数据库UserProfile中的所有注册成员名称,我需要显示UserName

    public UsersContext()  : base("DefaultConnection")
    {
    }
    public DbSet<UserProfile> UserProfiles { get; set; }

    public IQueryable<UserProfile> GetAll(string _UserName)
    {
        IQueryable<UserProfile> query = this.UserProfiles.FirstOrDefault(x=>x.UserName==_UserName);
        return query;
    }

并在模型中

       using (UsersContext _UsersContext = new UsersContext())
        {
            this.RegisterMembers = _UsersContext.UserProfiles.ToString();
        }

在视图中

注册成员:@ Model.RegisterMembers.ToString()

我现在已经尽力了3天,并且它不能正常工作! 帮助plz,谢谢!!!

问题是您正在针对DbSet<UserProfile>调用ToString ,这不会返回您期望的结果。 首先,您可以将其显示为CSV:

this.RegisterMembers = String.Join(",", _UsersContext.UserProfiles.Select(x => x.UserName).ToList());

如果您对此不满意,则需要将RegisterMembers类型更改为List<UserProfile>并且实际上,您需要分配该列表,例如:

this.RegisterMembers = _UsersContext.UserProfiles.ToList();

因此,在您的视图中,您将可以像这样通过RegisterMembers进行迭代:

<ul>
@foreach (var registerMember in Model.RegisterMembers)
{
    <li>@registerMember.UserName</li>
}
</ul>

你方法

public IQueryable<UserProfile> GetAll(string _UserName)
{
    IQueryable<UserProfile> query = this.UserProfiles.FirstOrDefault(x=>x.UserName==_UserName);
    return query;
}

只会返回一个UserProfile,您不应该接受任何参数,而只需调用以下内容:

IQueryable<UserProfile> query = this.UserProfiles.ToArray();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM