• 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                 @item
    35             </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="@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="创建用户" />
    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.UserName, new { @class = "control-label col-md-2" })
    21             <div class="col-md-10">
    22                @Html.TextBoxFor(m => m.UserName, new { @class = "form-control" })
    23                @Html.ValidationMessageFor(model => model.UserName)
    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="@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="保存" 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="删除用户" class="btn btn-default" /> |
    28             @Html.ActionLink("返回用户列表", "Index")
    29         </div>
    30     }
    31 </div>
  • 相关阅读:
    MySql(二)索引的设计与使用
    Perl寻找去除数组中重复元素
    简简单单讲sort--perl
    Perl语言入门笔记 第四章 子程序
    Perl语言入门笔记 第三章 列表和数组
    Perl用CPAN安装模块时错误
    Perl PPM安装模块
    Active Perl的PPM的repository添加
    Perl的CPAN和CPANPLUS安装模块介绍
    CPANPLUS 的使用
  • 原文地址:https://www.cnblogs.com/chonghanyu/p/6391400.html
Copyright © 2020-2023  润新知