Heim  >  Artikel  >  Backend-Entwicklung  >  ASP.NET steuert Berechtigungen für HTML-Seitenelemente (3)

ASP.NET steuert Berechtigungen für HTML-Seitenelemente (3)

高洛峰
高洛峰Original
2017-02-03 15:07:301046Durchsuche

Es gibt einige Dinge, die im vorherigen Blog nicht berücksichtigt wurden. Diesmal habe ich den Code wie folgt geändert:

Schnittstellen-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>

Schnittstellen-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) 

} 

}

Allgemeines Verarbeitungsprogramm:

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

Für weitere ASP.NET-Berechtigungskontrolle für HTML-Seitenelemente (3) achten Sie bitte auf PHP Chinesische Website für verwandte Artikel!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn