首页  ·  知识 ·  云计算
asp.net获取当前页面文件名,参数,域名等方法。统一session验证和
a5878431/    综合  编辑:dezai   图片来源:网络
asp.net获取当前页面文件名,参数,域名等方法。统一session验证和权限验证的方法
 ASP.net后台获取当前页面的文件名

System.IO.Path.GetFileName(Request.Path).ToString();

 

获取当前页面文件名,参数,域名等方法

假设当前页完整地址是:http://www.test.com/aaa/bbb.aspx?id=5&name=kelli

"http://"是协议名

"www.test.com"是域名

"aaa"是虚拟目录名

"bbb.aspx"是页面名(文件名)

"id=5&name=kelli"是参数





【1】获取 完整url (协议名+域名+虚拟目录名+文件名+参数)

string url=Request.Url.ToString();

url= http://www.test.com/aaa/bbb.aspx?id=5&name=kelli

【2】获取 虚拟目录名+页面名+参数:

string url=Request.RawUrl;

(或 string url=Request.Url.PathAndQuery;)

url= /aaa/bbb.aspx?id=5&name=kelli

【3】获取 虚拟目录名+页面名:

string url=HttpContext.Current.Request.Url.AbsolutePath;

(或 string url= HttpContext.Current.Request.Path;)

url= /aaa/bbb.aspx

【4】获取 域名:

string url=HttpContext.Current.Request.Url.Host;

url= www.test.com

【5】获取 参数:

string url= HttpContext.Current.Request.Url.Query;

url= ?id=5&name=kelli

Request.QueryString["id"]和Request.QueryString["name"]访问各参数

Request.UrlReferrer可以获取客户端上次请求的url的有关信息, 这样我们就可以通过这个属性返回到“上一页”。

同样地,Request.UrlReferrer.Query可以获取客户端上次请求的url的有关参数部分。

 

 

统一验证:

最近发现了一个比较好的统一验证的方法,在这里写出来,我是通过了测试的,不过还不是十分的清楚有没有不恰当的地方,还望有高手指点一二。

在appcode文件夹下面新建一个类文件,继承page类,在文件中添加page.load的事件,然后在需要进行验证的文件.cs也继承这个类。举例说明

新建一个BasePage_mana.cs的类文件:

 

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using WebUtil;

using SysModel;

using SysDal;





/// <summary>

///让所有后台管理页都继承这个类,在这里进行session验证和权限验证等操作。

/// </summary>

public class BasePage_mana : System.Web.UI.Page

{

    public BasePage_mana()

    {

        this.Load += new EventHandler(thisLoad);

        //

        //TODO: 验证程序 有待完善(todo:是未完成工作的提示)

        //

    }

    void thisLoad(object sender, EventArgs e)

    {

#warning 验证程序 有待完善(warning是警告的设置)

        if (System.String.IsNullOrEmpty(Session["BN_JobNum"] as string))

        {

            Response.Write("<mce:script language='javascript'><!--

alert('请重新登陆!');parent.location.href='../login_test.aspx';

// --></mce:script>");

            Response.End();

        }

        PurviewDAL Pdal = new PurviewDAL();

        string pageName = System.IO.Path.GetFileName(Request.Path).ToString();//我这里做了一个权限判断的类,我把文件名当做权限名,这样就可以做到统一判断了

        if (Pdal.PowerControl(Session["BN_JobNum"].ToString(), pageName) == false)

        {

            Response.Write("<mce:script language=javascript><!--

alert('您没有权限!');history.go(-1);

// --></mce:script>");

            Response.End();

        }

    }

}

 

本文作者:a5878431/ 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读