创建角色相关视图

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

第二步:在创建的视图上定义一个公开枚举模型

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

第三步:建立页面视图模板,代码完成后如下。

@model IEnumerable <Microsoft .AspNet.Identity.EntityFramework.IdentityRole>
@{
    ViewBag.Title = "角色列表";
}

<h2>角色列表</h2>

<p>
    @Html.ActionLink("新建角色", "Create")
</p>
<table class="table">
    <tr>
        <th>
            @Html.Label("角色名称")</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模型。

完成后的相关代码如下:

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")
}

Details视图模板:

@model Microsoft.AspNet.Identity.EntityFramework.IdentityRole

@{
    ViewBag.Title = "角色详情";
}

<h2>角色详情</h2>

<div>
    <h4>角色用户</h4>
    <hr />
    <dl class="dl-horizontal">
        <dt>
            @Html.Label("目前所属角色:")</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>

Delete视图模板:

@model Microsoft.AspNet.Identity.EntityFramework.IdentityRole

@{
    ViewBag.Title = "删除角色";
}

<h2>删除角色</h2>

<h3>你确认要删除此角色?? </h3><p>该操作只能删除角色,但不会删除角色内的用户。</p><div>
    <h4>Role.</h4>
    <hr />
    <dl class="dl-horizontal">
        <dt>
            @Html.Label("将要删除的角色名称")</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>

至此,RoleAdmin的相关视图模板就做完了。

asp.net identity 2.2.0 中角色启用和基本使用(四)的更多相关文章

  1. asp.net identity 2.2.0 中角色启用和基本使用(七)提示点

    在使用asp.net identity 2.2.0 中,大家可能设计到一些修改和配置 关于Identity的配置,在App_Start文件中的IdentityConfig.cs中,这里几乎有你需要的一 ...

  2. asp.net identity 2.2.0 中角色启用和基本使用(六)

    创建用户管理相关视图 第一步:添加视图   打开UsersAdminController.cs   将鼠标移动到public ActionResult Index()上  右键>添加视图   系 ...

  3. asp.net identity 2.2.0 中角色启用和基本使用(三)

    创建控制器 第一步:在controllers文件夹上点右键>添加>控制器, 我这里选的是“MVC5 控制器-空”,名称设置为:RolesAdminController.cs 第二步:添加命 ...

  4. asp.net identity 2.2.0 中角色启用和基本使用(五)

    建立控制器UsersAdminController 第一步:在controllers文件夹上点右键>添加>控制器, 我这里选的是“MVC5 控制器-空”,名称设置为:UsersAdminC ...

  5. asp.net identity 2.2.0 中角色启用和基本使用(二)

    建立模型 第一步:在Models文件夹上点右键 >添加>类     类的名称自定,我用AdminViewModels命名的 因为是讲基本使用,我这里不做任何扩展. 第二步:添加如下命名空间 ...

  6. ASP.NET Identity 身份验证和基于角色的授权

    ASP.NET Identity 身份验证和基于角色的授权 阅读目录 探索身份验证与授权 使用ASP.NET Identity 身份验证 使用角色进行授权 初始化数据,Seeding 数据库 小结 在 ...

  7. asp.net identity 2.2.0 在MVC下的角色启用和基本使用(一)

    基本环境:asp.net 4.5.2 第一步:在App_Start文件夹中的IdentityConfig.cs中添加角色控制器. 在namespace xxx内(即最后一个“}”前面)添加 角色控制类 ...

  8. ASP.NET MVC 随想录——探索ASP.NET Identity 身份验证和基于角色的授权,中级篇

    在前一篇文章中,我介绍了ASP.NET Identity 基本API的运用并创建了若干用户账号.那么在本篇文章中,我将继续ASP.NET Identity 之旅,向您展示如何运用ASP.NET Ide ...

  9. asp.net identity 2.2.0 在WebForm下的角色启用和基本使用(四)

    有网友问及权限的问题,其实我觉得没什么改进. 主目录下的web.config基本不用改.要说要改的也就只有数据库连接了. <authentication mode="None" ...

随机推荐

  1. margin 碰到过的重叠问题

    双倍margin 稍微记录一下,因为常忘 float + margin,实际边距会变成设置值的双倍. 解决办法是 将元素设为 display:inline 最好要了解 IE的 haslayout 问题 ...

  2. 如此清除sql server 2008 记住的用户名

    在C盘下搜索这个文件  SqlStudio.bin 搜索到后删除就可以,这样登录Sql server 时就不会有用户名密码之类的,相当于做了初始化操作,但里面的数据库什么的都是有的. 这只是个删除记住 ...

  3. VBA学习之关于数据透视表的应用

    工作中很多地方需要同时处理多个数据表,而且用数据透视表进行排版,排序,计算字段,一个一个的做非常累,这里给出批量处理的方法. 学习VBA之前最好懂一点点VB的基础知识,因为里面的很多语法问题都是由VB ...

  4. caffe net 可视化工具

    http://ethereon.github.io/netscope/#/editor 将对应的网络输入到里面,然后按shift+enter即可查看对应的网络结构

  5. 多层嵌套ajax同步

    方式一: $.ajax({ type : "post", url : "user/add", data : data, async : false, //必须为 ...

  6. select值的获取及修改

    例子: <select id="a" name="a"> <options value="1">a</opti ...

  7. 【学习】JAVA的第一天(补)

    补上1024第一天的JAVA学习,也刚好是程序员节.今天学习了JAVA的一些历史和基础环境的配置,以及HelloWorld入门程序. JAVA体系:JAVAME(一些简单的移动端开发).JAVAEE( ...

  8. 子进程 已安装 pre-removal 脚本 返回了错误号 1或2 与 子进程 已安装 post-installation 脚本 返回了错误号 1或2

    今天在ubuntu kylin上安装了virtualbox, 后来我想删除了再装个新一点的,结果正常的情况下删除不了,我就把找到的virtualbox的目录全部都删除了, 再通过apt-get rem ...

  9. linux split 命令 将一个大的文件拆分成若干小文件

    . 以行数拆分 -l 参数: 原始文件 拆分后文件名前缀 例:以50行对文件进行拆分 big.txt small_ 拆分后会生成 small_aa small_ab small_ac ... . 以大 ...

  10. UDP及其组播,接收发送封装

    1.Receiver public class Receiver { public delegate void HeartBeat(byte[] data); public event HeartBe ...