ASP.NET MVC列出所有用户
问题描述:
我想显示所有用户的列表,但不确定如何使用MVC模型进行此操作。ASP.NET MVC列出所有用户
我可以通过Membership.GetAllUsers()
方法获得所有用户的列表但是如果我尝试将此传递到从ActionResult
的观点,有人告诉我型号是不可枚举。
答
你必须设置查看接受型MembershipUserCollection
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MembershipUserCollection>" %>
的对象在你的行动:
<ul>
<%foreach (MembershipUser user in Model){ %>
<li><%=user.UserName %></li>
<% }%>
</ul>
:
public ActionResult GetUsers()
{
var users = Membership.GetAllUsers();
return View(users);
}
那么您可以在您的看法是这样写
答
[编辑]具体来说,什么是视图样子(例如,什么是它希望得到的模型,你是如何解析的收集等)
你可以张贴一些代码?我正在做类似的事情,但没有问题。
答
您认为网页,在上面,你需要设置视图页的类型。 IE:
在您查看的顶部,在标记的第一行,你会看到这样的事情:
Inherits="System.Web.Mvc.ViewPage"
。更改为:
Inherits="System.Web.Mvc.ViewPage<MembershipUserCollection>"
或什么您尝试传递给视图的类型。 “Model”对象现在将成为MembershipUserCollection类型,您可以安全地进行迭代。
答
这听起来像你需要使你的视图强类型视图。你的看法是从ViewPage<MembershipUserCollection>
而不是仅仅从ViewPage
。另一个解决方案是你的模型转换为MembershipUserCollection在您的视图:
<% var members = (MembershipUserCollection) ViewData.Model %>
<% foreach (MembershipUser user in members) { %>
<%-- Do Stuff with the user --%>
<% } %>
答
尝试asp.net应用程序对象
string id = Session.SessionID.ToString();
String[] users = new String[1000];
users = (string[])Application["users"];
int count=0;
for (int d=0;1000 >d ;d++)
{
if (users == null) { users = new String[1000]; }
count = d;
if (users[d] == null) { break; }
}
users[count] = id;
Application["users"] = users;
string[] usersTable = (string[])Application["users"];
for (int d=0;1000 >d ;d++)
{
if (usersTable[d] == null) { break; }
Label1.Text += usersTable[d].ToString()+" | ";
添加到应用目标代码
Application["users"] = users;
来自application对象
retrive string[] usersTable = (string[])Application["users"];
这将帮助你
谢谢大家的帮助。我是新来的这个MVC的东西,并没有意识到我可以强烈键入模型。干杯! – 2009-05-17 16:09:56
不支持使用ASP.NET MVC 4和SimpleMembershipProvider`Membership.GetAllUsers()`。相反,使用`var(var ctx = new UsersContext()){var users = ctx.UserProfiles.ToList(); }` – 2013-07-23 22:53:42