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的相关视图模板就做完了。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。