• 技术文章 >后端开发 >C#.Net教程

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

    高洛峰高洛峰2017-02-03 15:07:30原创486
    上一篇博客中有些没有考虑到的东西这次更改一下代码如下:

    界面前台:

    <%@ 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页面元素进行权限控制(三)相关文章请关注PHP中文网!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:ASP.NET对HTML页面元素进行权限控制(二) 下一篇:Asp.net动态生成html页面的方法分享
    Web大前端开发直播班

    相关文章推荐

    • 一文聊聊C语言中的字符串操作(大小写转换、比较、排序等)• 分享一道逻辑面试题,看看你能答对吗!• asp.net中3种验证码示例(数字,数字字母混和,汉字)• C++设计模式浅识装饰模式• C#程序员经常用到的10个实用代码片段详细介绍

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网