[英]Creating a model, and displaying it in a grid in ASP.NET MVC
我正在使用SQL Server的所有默認ASP.NET表單身份驗證表(aspnet_Profile,aspnet_Roles,aspnet_Users等)。 我還向數據庫中添加了一個Employees表,該表包含一個FK以便對UserId上的aspnet_Users創建一對一的關系(UserId是Employees中的PK)。 員工表包含用於名字,姓氏等的列。這是我為用戶保留其他信息的一種方式。
我想要一個網格顯示我的員工列表。 它需要包含以下信息:
Roles.GetRolesForUser(username)
找到用戶所在角色的逗號分隔列表 這是我想對“查看”頁面執行的操作:
<%@ Page Language="C#"
Inherits="System.Web.Mvc.ViewPage<IEnumerable<WebUI.Models.IndexModel>>" %>
<table>
<tr>
<th></th>
<th>Employee</th>
<th>Username</th>
<th>E-mail Address</th>
<th>Roles</th>
</tr>
<% foreach (var item in Model) { %>
<tr>
<td></td>
<td><%: item.FirstName %> <%: item.LastName %></td>
<td><%: item.Username %></td>
<td><%: item.Email %></td>
<td><%: item.Roles %></td> <!-- i.e., "Admin, Sales Rep" -->
</tr>
<% } %>
</table>
這是我的模型:
public class IndexModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Username { get; set; }
public string Email { get; set; }
public string[] Roles { get; set; }
}
而我的控制器:
public ActionResult Index()
{
return View();
}
我的問題是,我不知道如何用該數據加載模型並將其傳遞給我的視圖。 我對MVC有點陌生,我做了一些運氣不好的搜索,我想我只是在搜索錯誤的東西。
那么,如何使用這些不同表中的數據加載模型?
編輯:我應該提到我正在使用實體框架,所以我可以輕松地從雇員表中提取所有數據。
你是如此親密:
public ActionResult Index()
{
IEnumerable<IndexModel> model = new List<IndexModel>(); // or from your EF Repository
return View(model);
}
我個人將更改您的模型對象,並相應地更新您的視圖:
public class IndexModel
{
IList<UserInfo> Users { get; set; }
}
public class UserInfo // or whatever makes the most sense
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Username { get; set; }
public string Email { get; set; }
public string[] Roles { get; set; }
}
您將模型傳遞到控制器中的視圖中:
public ActionResult Index()
{
List<IndexModel> items = new List<IndexModel>();
// fill out list of items
return View(items);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.