【发布时间】:2014-03-24 13:59:28
【问题描述】:
我想将AspNetUsers 表中的UserId 和UserName 列列到我的管理区的EditProfile 视图中。
我的 EditProfile 模型是:
namespace AdminPanelExercises1.Areas.admin.Models
{
public class EditProfileModel
{
public int ID { get; set; }
public string UserID { get; set; }
public string UserName { get; set; }
public string UserEmail { get; set; }
public bool IsAdmin { get; set; }
}
}
我的 EditProfile 控制器是:
private AdminPanelExercises1.Models.ApplicationUser db3 = new AdminPanelExercises1.Models.ApplicationUser();
// GET: /admin/EditProfile/
public ActionResult Index()
{
EditProfileModel EPM = new EditProfileModel();
EPM.UserID = db3.Id;
EPM.UserName = db3.UserName;
return View(EPM);
}
我的 EditProfile 视图是:
@model IEnumerable<AdminPanelExercises1.Areas.admin.Models.EditProfileModel>
@{
ViewBag.Title = "Account Management";
Layout = "~/Areas/admin/Views/Shared/_layout.cshtml";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.UserID)
</th>
<th>
@Html.DisplayNameFor(model => model.UserName)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.UserID)
</td>
<td>
@Html.DisplayFor(modelItem => item.UserName)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
@Html.ActionLink("Details", "Details", new { id=item.ID }) |
@Html.ActionLink("Delete", "Delete", new { id=item.ID })
</td>
</tr>
}
</table>
而且我也收到如下错误:
传入字典的模型项的类型为“AdminPanelExercises1.Areas.admin.Models.EditProfileModel”,但此字典需要类型为“System.Collections.Generic.IEnumerable`1[AdminPanelExercises1.Areas.admin”的模型项.Models.EditProfileModel]'。
我该如何解决这个问题? 我是否编写了从 AspNetUsers 表中获取数据的错误代码?
【问题讨论】:
标签: c# asp.net asp.net-mvc entity-framework