ASP.NET对HTML元素进行权限控制(三)
上一篇博客中有些没有考虑到的东西这次更改一下代码如下:
界面前台:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AdmShowDIV.aspx.cs" Inherits="ExamSystemV3.Manager.RoleManager.AdmShowDIV" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="Author" content="kudychen@gmail.com" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<title></title>
<script src="../../js/DIV/jquery.js" type="text/javascript"></script>
<script src="../../js/DIV/DIV.js" type="text/ecmascript"></script>
<link href="../../css/admin.global.css" rel="stylesheet" type="text/css" />
<link href="../../css/admin.content.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../../js/jquery.easyui.min.js"></script>
<script type="text/javascript" src="../../js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="../../js/jquery.utils.js"></script>
<link href="../../jBox/Skins/Green/jbox.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../jBox/jquery.jBox-2.3.min.js"></script>
<script type="text/javascript" src="../../js/admin.js"></script>
<script type="text/javascript" src="../../js/SimpleTree.js"></script> </head>
<body>
<form id="form1" runat="server">
<div class="container">
<div class="location">当前位置:界面元素管理 -> 查看界面元素</div> <div class="blank10"></div> <div class="search block">
<div class="h">
<span class="icon-sprite icon-magnifier"></span>
<h3>快速搜索</h3>
</div>
<div class="tl corner"></div><div class="tr corner"></div><div class="bl corner"></div><div class="br corner"></div>
<div class="cnt-wp">
<div class="cnt">
<div class="search-bar" id="SelectRole">
<label class="txt-green">请选择界面:</label>
<asp:DropDownList ID="DdlWindowsName" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DdlWindowsName_SelectedIndexChanged">
</asp:DropDownList>
<a class="btn-lit" href="#" onclick="WindowsInfo()"><span>扫描界面信息</span></a>
</div> </div>
</div>
</div>
</div> <div class="block">
<div class="h">
<span class="icon-sprite icon-list"></span>
<h3>界面详情</h3>
</div>
<div class="tl corner"></div>
<div class="tr corner"></div>
<div class="bl corner"></div>
<div class="br corner"></div>
<div class="cnt-wp">
<div class="cnt">
<iframe id="frmWindows" runat="server" frameborder="0" marginheight="0" marginwidth="0" scrolling="auto" style=" display: inline; height: 400px;" width="75%" ></iframe>
<iframe id="frmUpdateDIV" runat="server" frameborder="0" marginheight="0" marginwidth="0" scrolling="auto" style="display: inline; height: 400px; width: 24%;"></iframe>
</div> </div>
</div> </form>
</body>
</html>界面后台:
using BLL.Manager.RoleUserManagerBLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace ExamSystemV3.Manager.RoleManager
{
public partial class AdmShowDIV : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string strLike="";
if (!IsPostBack)
{
//绑定界面
DataBindWindows(strLike);
} }
/// <summary>
/// 绑定所有界面
/// </summary>
/// <param name="strLike"></param>
public void DataBindWindows(string strLike)
{
DataTable dt = new DataTable();
AdmWindowsManager admWindowsManager = new AdmWindowsManager();
//查出所有的界面
dt = admWindowsManager.QueryWindowInfo(strLike);
//绑定界面信息
DdlWindowsName.DataSource = dt;
DdlWindowsName.DataValueField = "Id";
DdlWindowsName.DataTextField = "WindowsName";
DdlWindowsName.DataBind(); } protected void DdlWindowsName_SelectedIndexChanged(object sender, EventArgs e)
{
DataTable dt = new DataTable();
string strLike = "";
AdmWindowsManager admWindowsManager = new AdmWindowsManager();
//查出界面的信息
dt = admWindowsManager.QueryWindowInfo(strLike);
string strWindowsId=DdlWindowsName.SelectedValue.ToString().Trim();
strLike = "Id='"+strWindowsId+"'";
DataRow[] rows =dt.Select (strLike);
//获得路径
string strURL = rows[0]["WindowsURL"].ToString ();
strURL = "../../" + strURL;
frmWindows.Attributes["src"]=strURL;
frmUpdateDIV.Attributes["src"] = "AdmUpdateDIV.aspx?WindowsID='" + strWindowsId + "'";
}
}
}JS:
var WindowsID;
function WindowsInfo() {
//获取ifrm
var frmWindows = document.getElementById("frmWindows").contentWindow;
//获取界面ID
WindowsID = document.getElementById("DdlWindowsName").value; var rootboxs = frmWindows.document.getElementById("main");
var child = rootboxs.childNodes;
findchildbox(child); };
//搜寻子节点
function findchildbox(parentNode) { for (var i = 0; i < parentNode.length; i++) { if (parentNode[i].nodeName == "BOX") { var childboxId = parentNode[i].id;
var childboxTitle = encodeURI(parentNode[i].title);
var parentbox = findparentbox(parentNode[i].parentNode);
var parentboxId = parentbox.id;
if (window.XMLHttpRequest) {
//IE7 above,firefox,chrome^^
xmlhttp = new XMLHttpRequest();
//为了兼容部分Mozillar浏览器,当来自服务器响应开头不是xml,导致的无法响应问题
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) {
//IE5\IE6
xmlhttp = new activeXObject("Microsoft.XMLHTTP");
}
if (xmlhttp == null || xmlhttp == undefined) {
alert("con't create XMLHttpRequest Object");
} ////注册回调函数
//xmlhttp.onreadystatechange = callback;
//发送信息 xmlhttp.open('GET', '../../Manager/RoleManager/AddBox.ashx?childboxId=' + childboxId + '&childboxTitle=' + childboxTitle + '&parentboxId=' + parentboxId+'&windowsId='+WindowsID, true);
xmlhttp.send(null); //function callback() {
// //判断交互是否完成,是否正确返回
// if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { // }
//} } findchildbox(parentNode[i].childNodes) } } //查询父节点
function findparentbox(child) { if (child.nodeName == "BOX") {
return child;
} else {
return findparentbox(child.parentNode) } }一般处理程序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using BLL.Manager.RoleUserManagerBLL;
using System.Data;
using System.Text;
using Model;
using BLL; namespace ExamSystemV3.Manager.RoleManager
{
/// <summary>
/// AddBox 的摘要说明
/// </summary>
public class AddBox : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
System.Threading.Thread.Sleep(1000);
DIVEntity EDiv = new DIVEntity();
TR_WindowsDIVEntity EWindowsDiv = new TR_WindowsDIVEntity();
AdmDIVManager admDIVManager = new AdmDIVManager();
PublicBLL publicBll = new PublicBLL();
///收集信息
string strChildBoxId = "";
string strChildBoxTitle = "";
strChildBoxId = context.Request.QueryString["childboxId"].ToString().Trim();
strChildBoxTitle = context.Server.UrlDecode(context.Request.QueryString["childboxTitle"].ToString().Trim());
string strWindowsId = context.Request.QueryString["windowsId"].ToString().Trim();
string strParentBoxId=context.Request.QueryString["parentboxId"].ToString ().Trim();;
string strState = "是";
string strDateTime = publicBll.GetDate();
string strIP = publicBll.GetWebClientIp();
string strOperator ="xvshu";//context.Session["UserNo"].ToString().Trim(); ; //给实体类赋值
EDiv.Id = strChildBoxId;
EDiv.MainRelation = strParentBoxId;
EDiv.DIVName = strChildBoxTitle;
EDiv.DIVDescribe = strChildBoxTitle;
EDiv.Operator = strOperator;
EDiv.OperatorIP = strIP;
EDiv.State = strState;
EDiv.DateTime = strDateTime;
//给WindowsDIV实体类赋值
EWindowsDiv.DIVID = strChildBoxId;
EWindowsDiv.WindowsID = strWindowsId;
EWindowsDiv.IsVisible = "是";
EWindowsDiv.Operator = strOperator;
EWindowsDiv.OperatorIP = strIP;
EWindowsDiv.DateTime = strDateTime; //添加DIV
admDIVManager.AddDIV(EDiv,EWindowsDiv); } public bool IsReusable
{
get
{
return false;
}
}
}
}
ASP.NET对HTML元素进行权限控制(三)的更多相关文章
- ASP.NET对HTML元素进行权限控制(一)
一个HTML页面有很多的元素比如<DIV>,<P>等.这些元素构成了HTML页面.在Web开发中权限控制是每个系统都要用到了.界面每个元素的权限也是需要控制的.比如一个查询用户 ...
- ASP.NET对HTML元素进行权限控制(二)
这是这个权限控制的第一步,扫描界面把要分配权限的元素的信息获取出来存入到数据库中. 这一步分三小步: (1).标出界面所要分配权限的元素 (2).扫描界面获取所要分配权限的元素信息.(ID,标题,层级 ...
- ASP.NET MVC 和 WebForm的权限控制
今天主要讲一下对于ASP.NET的页面级权限控制 数据结构:用户表.角色表.权限表.角色权限派生表 为用户添加权限的数据配置后, 自定义类对MVC继承Controller 对其内置方法Initiali ...
- ASP.NET MVC使用过滤器进行权限控制
1.新建MVC项目 2.找到Models文件夹,新建 LoginCheckFilterAttribute 类 public class LoginCheckFilterAttribute : Acti ...
- Laravel 5.1 ACL权限控制 三 之权限准备及实现权限管理
请自动参照到上上篇文章 1.创建控制器 php artisan make:model Permission php artisan make:model Role 2.创建表 php artisan ...
- 实现对ASP.NETMvc及Asp.NetCore的权限控制
AccessControlHelper Build Status Intro 由于项目需要,需要在 基于 Asp.net mvc 的 Web 项目框架中做权限的控制,于是才有了这个权限控制组件. 项目 ...
- asp.net core mvc权限控制:权限控制介绍
在进行业务软件开发的时候,都会涉及到权限控制的问题,asp.net core mvc提供了相关特性. 在具体介绍使用方法前,我们需要先了解几个概念: 1,claim:英文翻译过来是声明的意思,一个cl ...
- 基于MVC4+EasyUI的Web开发框架形成之旅--权限控制
我在上一篇随笔<基于MVC4+EasyUI的Web开发框架形成之旅--框架总体界面介绍>中大概介绍了基于MVC的Web开发框架的权限控制总体思路.其中的权限控制就是分为“用户登录身份验证” ...
- SRF之权限控制
框架目前提供url访问.菜单和页面元素的权限控制和数据权限,权限基于角色来分配,1个用户可以属于多个角色,权限项分模块.页面.操作3级别,其中模块.页面用于url和菜单的控制,操作是对页面元素的控制. ...
随机推荐
- HDU 1088 Write a simple HTML Browser 有点恶心的字符串题
这题是从某个群里听别人在抱怨这题老是PE,打开status果然满眼的Presentation Error...于是闲着来做了一下. 其实挺水的,不过各种设定多一点,注意一点就行了. 一开始以为词数超过 ...
- 淘宝API Nodejs的实现
关于<淘宝API Nodejs的实现>这是个很忧伤的故事~~ 体验了win10,目前来说还是不如意的,一些应用程序的卡顿,发热~~难以忍受了.只好重装了系统,可是可是!!! 前段时间写的n ...
- Oracle基础 数据泵导出/导入Expdp/impdp(转)
一.EXPDP和IMPDP使用说明 Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用 1)实现逻辑备份和逻辑恢复. 2 ...
- Oracle基础 数据库备份和恢复
一.为什么需要数据备份 造成数据丢失的主要原因: 1.介质故障. 2.用户的错误操作. 3.服务器的彻底崩溃. 4.计算机病毒. 5.不可预料的因素. Oracle中故障类型分为以下4种. 1.语句故 ...
- C语言中的命名空间
C语言中的命名空间 命名空间是为了解决 "在相同作用域内如何区分 相同的标识符". 说明: ①只有在相同作用域的情况下才能使用到命名空间去区分标识符,在嵌套的作用域.不同的作用域区 ...
- zoj 3057 博弈
思路:对于TT来说,如果数量分别为a a b或 a b a,或 b a a的形式,那么TT必赢,因为TT可以使其成为 a a a的形式,那么不论DD 怎么拿,都是TT最后使其成为a a a 的形式,0 ...
- 浅谈sql 、linq、lambda 查询语句的区别
浅谈sql .linq.lambda 查询语句的区别 LINQ的书写格式如下: from 临时变量 in 集合对象或数据库对象 where 条件表达式 [order by条件] select 临时变量 ...
- kettle菜鸟学习笔记2----第一个kettle转换的建立及执行
相关概念: Kettle数据清洗是采用元数据(Meta-data)驱动,以数据流的方式进行的,数据从数据源(数据库/文件等)在一系列相连的step之间依次向后流动,各个step完成对流经该step的数 ...
- POJ1064
#include <iostream> #include <iomanip> #include <cmath> using namespace std; int N ...
- text-overflow:ellipsis; 使用
ul li{ height:25px; line-height:25px; width:200px; overflow:hidden; white-space:nowrap;-moz-text-ove ...