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

创建角色相关视图

第一步:添加视图   打开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.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模型。

完成后的相关代码如下:

Create视图模板

@model xxxx(项目名).Models.RoleViewModel

@{
    ViewBag.Title = "创建角色";
}

<h2>创建角色</h2>

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">
        <h4>Role.</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="Create" 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>Roles.</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="Save" 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.DisplayNameFor(model => model.Name)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Name)
        </dd>
    </dl>
</div>
<h4>List of users in this role</h4>
@if (ViewBag.UserCount == 0)
{
    <hr />
    <p>No users found in this role.</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>Are you sure you want to delete this Role? </h3>
<p>Deleting this Role will remove all users from this role. It will not delete the users.</p>
<div>
    <h4>Role.</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="Delete" class="btn btn-default" /> |
            @Html.ActionLink("返回角色列表", "Index")
        </div>
    }
</div>

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

时间: 2024-10-14 13:47:10

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

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

创建用户管理相关视图 第一步:添加视图   打开UsersAdminController.cs   将鼠标移动到public ActionResult Index()上  右键>添加视图   系统会弹出对话框  什么也不用改 直接“添加” 第二步:在创建的视图上定义一个公开枚举模型 在第一行添加 @model IEnumerable<xxxx(项目名).Models .ApplicationUser> 第三步:建立页面视图模板,代码完成后如下. @model IEnumerable<

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

基本环境:asp.net 4.5.2 第一步:在App_Start文件夹中的IdentityConfig.cs中添加角色控制器. 在namespace xxx内(即最后一个“}”前面)添加 角色控制类 代码如下: //配置此应用程序中使用的应用程序角色管理器.RoleManager 在 ASP.NET Identity 中定义,并由此应用程序使用. public class ApplicationRoleManager : RoleManager<IdentityRole> { public

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

创建控制器 第一步:在controllers文件夹上点右键>添加>控制器, 我这里选的是“MVC5 控制器-空”,名称设置为:RolesAdminController.cs 第二步:添加命名空间 using System.Net; using System.Threading.Tasks; using xxxx.Models;//你项目的名称 using Microsoft.AspNet.Identity; using Microsoft.AspNet.Identity.Owin; using

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

建立模型 第一步:在Models文件夹上点右键 >添加>类     类的名称自定,我用AdminViewModels命名的 因为是讲基本使用,我这里不做任何扩展. 第二步:添加如下命名空间 using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Web.Mvc; 删除模板建立类时自带的但用不到的命名空间(可选) using System; using System.L

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

ASP.NET Identity 身份验证和基于角色的授权 阅读目录 探索身份验证与授权 使用ASP.NET Identity 身份验证 使用角色进行授权 初始化数据,Seeding 数据库 小结 在前一篇文章中,我介绍了ASP.NET Identity 基本API的运用并创建了若干用户账号.那么在本篇文章中,我将继续ASP.NET Identity 之旅,向您展示如何运用ASP.NET Identity 进行身份验证(Authentication)以及联合ASP.NET MVC 基于角色的授权

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

基本环境:asp.net 4.5.2 第一步:在App_Start文件夹中的IdentityConfig.cs中添加角色控制器. 在namespace xxx内(即最后一个“}”前面)添加 角色控制类 代码如下: //配置此应用程序中使用的应用程序角色管理器.RoleManager 在 ASP.NET Identity 中定义,并由此应用程序使用. public class ApplicationRoleManager : RoleManager<IdentityRole> { public

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

角色管理功能: 界面部分: <%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="jueseadmin.aspx.cs" Inherits="admin_jueseadmin" %> <asp:Content ID="Con

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

有网友问及权限的问题,其实我觉得没什么改进. 主目录下的web.config基本不用改.要说要改的也就只有数据库连接了. <authentication mode="None" />    <compilation debug="true" targetFramework="4.5.2" /> 这两项我都没改,按说<authentication mode="None" />应该改为<a

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

管理用户功能: 界面部分: <%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="admin_Default" %> <asp:Content ID="Content1&