首页 > 编程 > HTML > 正文

ASP.NET对HTML页面元素进行权限控制(三)

2020-03-24 15:47:26
字体:
来源:转载
供稿:网友
上一篇博客中有些没有考虑到的东西这次更改一下代码如下:

界面前台:
复制代码 代码如下:
%@ 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
div 当前位置:界面元素管理 - 查看界面元素 /div

div /div

div
div
span /span
h3 快速搜索 /h3
/div
div /div div /div div /div div /div
div
div
div id="SelectRole"
label 请选择界面: /label
asp:DropDownList ID="DdlWindowsName" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DdlWindowsName_SelectedIndexChanged"
/asp:DropDownList
a href="#" span 扫描界面信息 /span /a
/div

/div
/div
/div
/div

div
div
span /span
h3 界面详情 /h3
/div
div /div
div /div
div /div
div /div
div
div
iframe id="frmWindows" runat="server" frameborder="0" marginheight="0" marginwidth="0" scrolling="auto" width="75%" /iframe
iframe id="frmUpdateDIV" runat="server" frameborder="0" marginheight="0" marginwidth="0" scrolling="auto" /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;
}
}
}
}
更多编程语言

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表