创建角色管理相关视图

1、添加视图

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

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

在第一行添加 @model IEnumerable<Microsoft.AspNet.Identity.EntityFramework.IdentityRole>

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

 @model IEnumerable<Microsoft.AspNet.Identity.EntityFramework.IdentityRole>

 @{
ViewBag.Title = "角色列表";
} <h2>角色列表</h2> <p>
@Html.ActionLink("新建角色", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th> </th>
</tr> @foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.ActionLink("编辑角色", "Edit", new { id = item.Id }) |
@Html.ActionLink("角色详情", "Details", new { id = item.Id }) |
@Html.ActionLink("删除角色", "Delete", new { id = item.Id })
</td>
</tr>
} </table>

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

需要注意的是
1、Create视图模板和Edit视图模板 顶部定义的是一个xxxx(项目名).Models.RoleViewModel模型。
2、Delete视图模板和Details视图模板 顶部定义的是一个Microsoft.AspNet.Identity.EntityFramework.IdentityRole模型。

完成后的相关代码如下:

Details/角色详情视图

 @model Microsoft.AspNet.Identity.EntityFramework.IdentityRole

 @{
ViewBag.Title = "角色详情";
} <h2>角色详情</h2> <div>
<h4>角色组</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.Name)
</dt>
<dd>
@Html.DisplayFor(model => model.Name)
</dd>
</dl>
</div>
<h4>目前在该角色内的用户清单:</h4>
@if (ViewBag.UserCount == )
{
<hr />
<p>该角色未包含任何用户。</p>
} <table class="table"> @foreach (var item in ViewBag.Users)
{
<tr>
<td>
@item.UserName
</td>
</tr>
}
</table>
<p>
@Html.ActionLink("编辑角色", "Edit", new { id = Model.Id }) |
@Html.ActionLink("返回角色列表", "Index")
</p>

Create/创建角色视图

 @model xxxx.Models.RoleViewModel

 @{
ViewBag.Title = "创建角色";
} <h2>创建角色</h2> @using (Html.BeginForm())
{
@Html.AntiForgeryToken() <div class="form-horizontal">
<h4>角色</h4>
<hr />
@Html.ValidationSummary(true) <div class="form-group">
@Html.LabelFor(model => model.Name, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Name, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Name)
</div>
</div> <div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="创建角色" class="btn btn-default" />
</div>
</div>
</div>
} <div>
@Html.ActionLink("返回角色列表", "Index")
</div> @section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}

Edit/编辑角色视图

 @model xxxx.Models.RoleViewModel

 @{
ViewBag.Title = "编辑角色";
} <h2>编辑角色</h2> @using (Html.BeginForm())
{
@Html.AntiForgeryToken() <div class="form-horizontal">
<h4>角色组</h4>
<hr />
@Html.ValidationSummary(true)
@Html.HiddenFor(model => model.Id) <div class="form-group">
@Html.LabelFor(model => model.Name, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Name, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Name)
</div>
</div> <div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="保存修改" class="btn btn-default" />
</div>
</div>
</div>
} <div>
@Html.ActionLink("返回角色列表", "Index")
</div> @section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}

Delete/删除角色视图

 model Microsoft.AspNet.Identity.EntityFramework.IdentityRole

 @{
ViewBag.Title = "删除角色";
} <h2>删除角色</h2> <h3>你确认要删除此角色?? </h3>
<p>该操作只能删除角色,但不会删除角色内的用户。</p>
<div>
<h4>角色</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.Name)
</dt> <dd>
@Html.DisplayFor(model => model.Name)
</dd>
</dl>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken() <div class="form-actions no-color">
<input type="submit" value="删除角色" class="btn btn-default" /> |
@Html.ActionLink("返回角色列表", "Index")
</div>
}
</div>

Asp.Net MVC Identity 2.2.1 使用技巧(七)的更多相关文章

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

    之前我们看到了新生成的项目中跟identity有关的有四个文件,这些文件是基础功能,并未开启identity的全部功能.现在我们先启用角色功能. 1.在App_Start文件夹中的IdentityCo ...

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

    开发环境:vs2015 UP3  or  vs2017RC  项目环境:asp.net 4.6.1   identity版本为:asp.net identity 2.2.1 1.创建项目. 没什么好说 ...

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

    一.添加管理链接 在View/Shared/_layout.cshtml,在页面导航上(28行)添加如下代码: @*通过身份验证并确认用户属于Admin角色显示管理菜单*@ @if (Request. ...

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

    使用用户管理器之角色管理 一.建立模型,这里我们其实在之前的技巧(五)已经建好了. 二.建立控制器RolesAdminController 1.在controllers文件夹上点右键>添加> ...

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

    创建用户管理相关视图 1.添加视图 打开UsersAdminController.cs   将鼠标移动到public ActionResult Index()上  右键>添加视图   系统会弹出 ...

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

    使用用户管理器之用户管理 一.建立模型 1.在Models文件夹上点右键 >添加>类     类的名称自定,我用AdminViewModels命名的. 2.更改模板自建的AdminView ...

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

    使用用户管理器之用户注册 用户管理的基本功能模块中已经做好了,我们现在做一些调整. 1.修改用户名注册规则. 上一篇中可选操作已经详解了这里把基本的设置简介下. 打开App_Start/identit ...

  8. ASP.NET MVC Identity 兩個多個連接字符串問題解決一例

    按照ASP.NET MVC Identity建立了一個用戶權限管理模塊,由于還要加自己已有的數據庫,所以建立了一個實體模型,建立了之后,發現登錄不了: 一直顯示“Login in failed for ...

  9. ASP.NET MVC之Session State性能问题(七)

    前言 这一节翻译一篇有关Session State性能问题的文章,非一字一句翻译. 话题 不知道我们在真实环境中是否用到了Session State特性,它主要用来当在同一浏览器发出多个请求时来存储数 ...

随机推荐

  1. strcpy和strncpy

    在c语言中,对于简单变量,如int型.double型,直接使用赋值符号“=”,即可完成赋值,如 int a=10: int b: b=a: 即可完成用a给b赋值. 但是对于字符串,这样赋值是不准确的. ...

  2. CPU漏洞补丁修复导致KeServiceDescriptorTable获取变更

    一.前言 2018年元旦,出现的cpu的漏洞,可以在windows环三直接读取内核数据,windows对该漏洞提供补丁,补丁增加了一个页表,对应的内核处理也增加了,接下来我们看下补丁修复的表象以及对K ...

  3. UVM序列篇之二:sequence和item(上)

    无论是自驾item,穿过sequencer交通站,通往终点driver,还是坐上sequence的大巴,一路沿途观光,最终跟随导游停靠到风景点driver,在介绍如何驾驶item和sequence,遵 ...

  4. Cannot find module 'rxjs/operators/share'

    描述: ionic项目,在使用了ngx-translate之后,项目编译完成,运行到浏览器时,出现如下错误: 其中ngx-translate参照官网最新教程使用,并且也尝试了angular4.3之前的 ...

  5. 访问Django项目出现DisallowedHost at / Invalid HTTP_HOST header问题

    闲来无事,想玩玩django,源码安装碰到了一堆乱七八糟依赖性问题,耗费一下午的时间总算是在ubuntu14.04上搭建好了python3+django2开发环境, 心血来潮,创建了一个django项 ...

  6. 十七、ThreadPoolExecutor线程池

    一.简介 executor接口 executor接口在JDK的java.util.concurrent包下,它只有一个抽象方法: void execute(Runnable command); 这意味 ...

  7. memcached 细究(一)

    memcached是高性能的分布式的内存缓存服务器.由国外社区网站LIVEJOURNAL的开发团队开发. 使用目的: 通过缓存数据库查询结果,减少数据库的访问次数,以提高动态web应用的速度.提高可扩 ...

  8. Golang把所有包括底层类库,输出到stderr的内容, 重新定向到一个日志文件里面?

    不论应用是如何部署的,我们都期望能扑捉到应用的错误日志, 解决思路: 自己写代码处理异常拦截,甚至直接在main函数中写异常拦截. stderr重定向到某个文件里 使用 syscall.Dup2 第一 ...

  9. Spring入门(三)— AOP注解、jdbc模板、事务

    一.AOP注解开发 导入jar包 aop联盟包. aspectJ实现包 . spring-aop-xxx.jar . spring-aspect-xxx.jar 导入约束 aop约束 托管扩展类和被扩 ...

  10. COGS2217 papertask

    传送门 以前看到这题的时候觉得是道好题啊……然而今天没多久就做出来了= =(装B 表示并没有看懂其他人写的是什么做法,感觉我的做法好奇怪…… 我的做法是这样的: 首先给括号配对,不难发现所有括号串要么 ...