转:http://blog.csdn.net/llll29550242/article/details/6054323

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的类文件:

  1. using System.Collections;
  2. using System.Web;
  3. using System.Web.Security;
  4. using System.Web.UI;
  5. using System.Web.UI.WebControls;
  6. using System.Web.UI.WebControls.WebParts;
  7. using System.Web.UI.HtmlControls;
  8. using WebUtil;
  9. using SysModel;
  10. using SysDal;
  11. /// <summary>
  12. ///让所有后台管理页都继承这个类,在这里进行session验证和权限验证等操作。
  13. /// </summary>
  14. public class BasePage_mana : System.Web.UI.Page
  15. {
  16. public BasePage_mana()
  17. {
  18. this.Load += new EventHandler(thisLoad);
  19. //
  20. //TODO: 验证程序 有待完善(todo:是未完成工作的提示)
  21. //
  22. }
  23. void thisLoad(object sender, EventArgs e)
  24. {
  25. #warning 验证程序 有待完善(warning是警告的设置)
  26. if (System.String.IsNullOrEmpty(Session["BN_JobNum"] as string))
  27. {
  28. Response.Write("<mce:script language='javascript'><!--
  29. alert('请重新登陆!');parent.location.href='../login_test.aspx';
  30. // --></mce:script>");
  31. Response.End();
  32. }
  33. PurviewDAL Pdal = new PurviewDAL();
  34. string pageName = System.IO.Path.GetFileName(Request.Path).ToString();//我这里做了一个权限判断的类,我把文件名当做权限名,这样就可以做到统一判断了
  35. if (Pdal.PowerControl(Session["BN_JobNum"].ToString(), pageName) == false)
  36. {
  37. Response.Write("<mce:script language=javascript><!--
  38. alert('您没有权限!');history.go(-1);
  39. // --></mce:script>");
  40. Response.End();
  41. }
  42. }
  43. }

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

然后在文件test.aspx中继承这个类

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Collections;
  5. using System.Web;
  6. using System.Web.Security;
  7. using System.Web.UI;
  8. using System.Web.UI.WebControls;
  9. using System.Web.UI.WebControls.WebParts;
  10. using System.Web.UI.HtmlControls;
  11. using System.Collections.Generic;
  12. using OnlineUser;
  13. using SysModel;
  14. using SysDal;
  15. using WebUtil;
  16. public partial class test : BasePage_do//继承创建的那个类
  17. {
  18. protected void Page_Load(object sender, EventArgs e)
  19. {}
  20. }

using System;
using System.Data;
using System.Configuration;
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 System.Collections.Generic;
using OnlineUser;
using SysModel;
using SysDal;
using WebUtil;

public partial class test : BasePage_do//继承创建的那个类
{
protected void Page_Load(object sender, EventArgs e)
{}
}

asp.net获取当前页面文件名,参数,域名等方法。统一session验证和权限验证的方法的更多相关文章

  1. ASP.net获取当前页面的文件名,参数,域名等方法

    ASP.net后台获取当前页面的文件名 System.IO.Path.GetFileName(Request.Path).ToString(); 获取当前页面文件名,参数,域名等方法 假设当前页完整地 ...

  2. ASP获取当前页面带参数的网址(URL地址)的方法

    '获取当前Url参数的函数 Function GetUrl() Dim ScriptAddress,Servername,qs ScriptAddress = CStr(Request.ServerV ...

  3. php怎样获取当前页面文件名

    因开发需要,常需要获取当前php文件的文件名.php获取当前文件名方法很简单,程序代码如下: <?php function php_self(){ $php_self=substr($_SERV ...

  4. iframe父页面获取子页面的参数

    1.父页面中的iframe <iframe name="parentPage"></iframe> 2.子页面中元素的属性 <input type=& ...

  5. asp.net获取当前网址url的各种属性(文件名、参数、域名 等)的代码

    用 asp.net获取当前网页地址的一些信息. 设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli "http:// ...

  6. 转:asp.net获取url各项参数

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

  7. Spring Boot获取前端页面参数的几种方式总结

    Spring Boot的一个好处就是通过注解可以轻松获取前端页面的参数,之后可以将参数经过一系列处理传送到后台数据库. 获得的方式有很多种,这里稍微总结一下,大致分为以下几种: 1.指定前端url请求 ...

  8. SpringBoot 获取前端页面参数的集中方式总结

    SpringBoot的一个好处就是通过注解可以轻松获取前端页面的参数,之后尅将参数经过一系列处理传送到后台数据库,前端时间正好用到.大致分为一下几种: 1.指定前端URL请求参数名称与方法名称一致,这 ...

  9. asp.net 获取当前url地址

    设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli "http://"是协议名 "www.jb5 ...

随机推荐

  1. 学习笔记_Java_day12_设计模式MVC(13).JavaWeb的三层框架(14)

    MVC 1. 什么是MVC MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Contr ...

  2. xcode插件安装完之后无法使用问题解决

    1.打开xcode插件所在的目录: 例如: ~/wangdi/library/Application Support/Developer/Shared/Xcode/Plug-ins /Users/su ...

  3. 类型与通用语言运行时:System.Object

    CLR 要求每个类型最终都要继承自 System.Object 类型 //隐式继承 Object class Employee { ... } //显示继承继承 Object class Employ ...

  4. C#微信开发之旅--基本信息的回复

    上一篇说到配置和验证<C#微信开发之旅--准备阶段> 下面来实现一下简单的信息回复. 也就是接收XML,返回XML 可以去看下微信开发文档的说明:http://mp.weixin.qq.c ...

  5. Gradle实战教程之依赖管理

    这是从我个人网站中复制过来的,原文地址:http://coolshell.info/blog/2015/05/gradle-dependency-management.html,转载请注明出处. 简要 ...

  6. javascript进阶——面向对象特性

    面向对象的javascript是这门语言被设计出来时就考虑的问题,熟悉OOP编程的概念后,学习不同的语言都会发现不同语言的实现是不同的,javascript的面向对象特性与其他具有面向对象特性的语言的 ...

  7. delphi发送html带附件邮件

    var html: TIdText; begin if not SMTP.Connected then SMTP.Disconnect(); try SMTP.Connect; try if SMTP ...

  8. 第一个CUDA程序

    开始学CUDA 先写一个简单的 #include<iostream>__global__ void add( int a, int b, int *c ) { *c = a + b;}in ...

  9. Asp.Net MVC 使用FileResult导出Excel数据文件

    MVC实现Excel导出功能,今天来记录一下. 采取了最简单的方法.(转载)   用的是Html拼接成Table表格的方式,返回 FileResult 输出一个二进制的文件. 第一种:使用FileCo ...

  10. 【python之路7】python基本数据类型(一)

    一.运算符 1.算数运算符 +.-.*./.%(求余数).//(取整数部分) python2.x中,如果计算浮点数其中一个数字必须是浮点数否则按整数计算: 如python2.7中:print 9/2 ...