首页 > 代码库 > Asp.Net MVC Identity 2.2.1 使用技巧(五)

Asp.Net MVC Identity 2.2.1 使用技巧(五)

创建用户管理相关视图

1、添加视图

打开UsersAdminController.cs   将鼠标移动到public ActionResult Index()上  右键》添加视图   系统会弹出对话框  什么也不用改 直接“添加”。

2、在创建的视图上添加数据模型

在第一行添加 @model IEnumerable<xxxx(项目名).Models .ApplicationUser>。

3、建立Index页面视图模板,代码完成后如下:

 1 @model IEnumerable<xxxx.Models.ApplicationUser> 2 @{ 3     ViewBag.Title = "用户列表"; 4 } 5  6 <h2>用户列表</h2> 7  8 <p> 9     @Html.ActionLink("新建用户", "Create")10 </p>11 <table class="table">12     <tr>13         <th>14             @Html.DisplayNameFor(model => model.UserName)15         </th>16         <th>17 18         </th>19     </tr>20 21     @foreach (var item in Model)22     {23         <tr>24             <td>25                 @Html.DisplayFor(modelItem => item.UserName)26             </td>27             <td>28                 @Html.ActionLink("编辑用户", "Edit", new { id = item.Id }) |29                 @Html.ActionLink("用户详情", "Details", new { id = item.Id }) |30                 @Html.ActionLink("删除用户", "Delete", new { id = item.Id })31             </td>32         </tr>33     }34 35 </table>

重复上述步骤完成其他视图模板。

需要注意的是 1、Create视图模板顶部定义的是@model xxxx.Models.RegisterViewModel模型

                   2、Edit视图模板顶部定义的是一个@model xxxx(项目名).Models.EditUserViewModel模型。

                   3、Delete视图模板和Details视图模板 顶部定义的是一个@model xxxx.Models.ApplicationUser模型。

完成后的相关代码如下:

Details/用户详情视图

 1 @model xxxx.Models.ApplicationUser 2  3 @{ 4     ViewBag.Title = "用户详情"; 5 } 6  7 <h2>用户详情</h2> 8  9 <div>10     <h4>用户</h4>11     <hr />12     <dl class="dl-horizontal">13         <dt>14             @Html.DisplayNameFor(model => model.UserName)15         </dt>16         <dd>17             @Html.DisplayFor(model => model.UserName)18         </dd>19     </dl>20 </div>21 <h4>该用户所在的角色:</h4>22 @if (ViewBag.RoleNames.Count == 0)23 {24     <hr />25     <p>这个用户没有设置角色。</p>26 }27 28 <table class="table">29 30     @foreach (var item in ViewBag.RoleNames)31     {32         <tr>33             <td>34                 @item35             </td>36         </tr>37     }38 </table>39 <p>40     @Html.ActionLink("编辑用户", "Edit", new { id = Model.Id }) |41     @Html.ActionLink("返回用户列表", "Index")42 </p>

 

Create/创建用户视图

 1 @model xxxx.Models.RegisterViewModel 2 @{ 3     ViewBag.Title = "创建用户"; 4 } 5  6 <h2>@ViewBag.Title.</h2> 7  8 @using (Html.BeginForm("Create", "UsersAdmin", FormMethod.Post, new { @class = "form-horizontal", role = "form" })) 9 {10     @Html.AntiForgeryToken() //创建防伪标记11     <h4>创建用户</h4>12     <hr />13     @Html.ValidationSummary("", new { @class = "text-error" })14     <div class="form-group">15         @Html.LabelFor(m => m.Email, new { @class = "col-md-2 control-label" })16         <div class="col-md-10">17             @Html.TextBoxFor(m => m.Email, new { @class = "form-control" })18         </div>19     </div>20     <div class="form-group">21         @Html.LabelFor(m => m.Password, new { @class = "col-md-2 control-label" })22         <div class="col-md-10">23             @Html.PasswordFor(m => m.Password, new { @class = "form-control" })24         </div>25     </div>26     <div class="form-group">27         @Html.LabelFor(m => m.ConfirmPassword, new { @class = "col-md-2 control-label" })28         <div class="col-md-10">29             @Html.PasswordFor(m => m.ConfirmPassword, new { @class = "form-control" })30         </div>31     </div>32     <div class="form-group">33         <label class="col-md-2 control-label">34             编辑用户角色35         </label>36         <div class="col-md-10">37             @foreach (var item in (SelectList)ViewBag.RoleId)38             {39                 <input type="checkbox" name="SelectedRoles" value=http://www.mamicode.com/"@item.Value" class="checkbox-inline" />40                 @Html.Label(item.Value, new { @class = "control-label" })41             }42         </div>43     </div>44     <div class="form-group">45         <div class="col-md-offset-2 col-md-10">46             <input type="submit" class="btn btn-default" value=http://www.mamicode.com/"创建用户" />47         </div>48     </div>49 }50 51 @section Scripts {52     @Scripts.Render("~/bundles/jqueryval")53 }

 

Edit/编辑用户视图

 1 @model xxxx.Models.EditUserViewModel 2  3 @{ 4     ViewBag.Title = "编辑用户"; 5 } 6  7 <h2>编辑用户</h2> 8  9 10 @using (Html.BeginForm()) {11     @Html.AntiForgeryToken()12 13     <div class="form-horizontal">14         <h4>编辑用户</h4>15         <hr />16         @Html.ValidationSummary(true)17         @Html.HiddenFor(model => model.Id)18 19         <div class="form-group">20             @Html.LabelFor(model => model.Email, new { @class = "control-label col-md-2" })21             <div class="col-md-10">22                @Html.TextBoxFor(m => m.Email, new { @class = "form-control" })23                @Html.ValidationMessageFor(model => model.Email)24             </div>25         </div>26         <div class="form-group">27             @Html.Label("角色组", new { @class = "control-label col-md-2" })28             <span class=" col-md-10">29                 @foreach (var item in Model.RolesList)30                 {31                     <input type="checkbox" name="SelectedRole" value=http://www.mamicode.com/"@item.Value" checked="@item.Selected" class="checkbox-inline" />32                     @Html.Label(item.Value, new { @class = "control-label" })33                 }34             </span>35         </div>36 37         <div class="form-group">38             <div class="col-md-offset-2 col-md-10">39                 <input type="submit" value=http://www.mamicode.com/"保存" class="btn btn-default" />40             </div>41         </div>42     </div>43 }44 45 <div>46     @Html.ActionLink("Back to List", "Index")47 </div>48 49 @section Scripts {50     @Scripts.Render("~/bundles/jqueryval")51 }

Delete/删除用户视图

 1 @model xxxx.Models.ApplicationUser 2  3 @{ 4     ViewBag.Title = "删除用户"; 5 } 6  7 <h2>删除用户</h2> 8  9 <h3>您确认要删除这个用户吗??</h3>10 <div>11     <h4>用户</h4>12     <hr />13     <dl class="dl-horizontal">14         <dt>15             @Html.DisplayNameFor(model => model.UserName)16         </dt>17 18         <dd>19             @Html.DisplayFor(model => model.UserName)20         </dd>21     </dl>22 23     @using (Html.BeginForm()) {24         @Html.AntiForgeryToken()25 26         <div class="form-actions no-color">27             <input type="submit" value=http://www.mamicode.com/"删除用户" class="btn btn-default" /> |28             @Html.ActionLink("返回用户列表", "Index")29         </div>30     }31 </div>

 

Asp.Net MVC Identity 2.2.1 使用技巧(五)