Home  >  Article  >  Backend Development  >  ASP.NET controls permissions on HTML page elements (3)

ASP.NET controls permissions on HTML page elements (3)

高洛峰
高洛峰Original
2017-02-03 15:07:301080browse

There are some things that were not considered in the previous blog. This time, change the code as follows:

Interface frontend:

<%@ 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>

Interface backend:

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=&#39;"+strWindowsId+"&#39;"; 
DataRow[] rows =dt.Select (strLike); 
//获得路径 
string strURL = rows[0]["WindowsURL"].ToString (); 
strURL = "../../" + strURL; 
frmWindows.Attributes["src"]=strURL; 
frmUpdateDIV.Attributes["src"] = "AdmUpdateDIV.aspx?WindowsID=&#39;" + strWindowsId + "&#39;"; 
} 
} 
}

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(&#39;text/xml&#39;); 
} 
} 
else if (window.ActiveXObject) { 
//IE5\IE6 
xmlhttp = new activeXObject("Microsoft.XMLHTTP"); 
} 
if (xmlhttp == null || xmlhttp == undefined) { 
alert("con&#39;t create XMLHttpRequest Object"); 
} 

////注册回调函数 
//xmlhttp.onreadystatechange = callback; 
//发送信息 

xmlhttp.open(&#39;GET&#39;, &#39;../../Manager/RoleManager/AddBox.ashx?childboxId=&#39; + childboxId + &#39;&childboxTitle=&#39; + childboxTitle + &#39;&parentboxId=&#39; + parentboxId+&#39;&windowsId=&#39;+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) 

} 

}

General processing procedures:

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; 
} 
} 
} 
}

For more ASP.NET permission control on HTML page elements (3), please pay attention to the PHP Chinese website for related articles!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn