当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 用在JavaScript的RequestHelper

ASP.NET
asp.net(C#) 生成随机验证码的代码
C# 生成高质量缩略图程序—终极算法
iis的http 500内部服务器错误的解决
效控制C#中label输出文字的长度,自动换行
asp.net下生成99个不同的随机数
Asp.Net文本换行
Asp.Net中文本换行
asp.net 上传大文件解决方案
asp.net程序编译调试时偶尔出现访问被拒绝的错误的解决方法
控件开发时两种JS嵌入资源方式的使用方法
AspNetPager分页控件源代码(Version 4.2)
asp. net下使用foreach简化文本文件的访问。
asp.net下经典数据库记录分页代码
微软发布的Data Access Application Block的使用代码
如何在网站级别动态更改主题
asp.net下模态对话框关闭之后继续执行服务器端代码的问题
asp.net下利用JS实现对后台CS代码的调用方法
批量删除记录时如何实现全选方法总结
asp.net下OnClientClick的妙用!
[c#]asp.ent下开发中Tag的开发技巧

ASP.NET 中的 用在JavaScript的RequestHelper


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 141 ::
收藏到网摘: n/a

    碰到一个小小的需求,就是要根据传入的锚(也就是url中#后面的东西啦)来显示不同的内容,记得以前写了的,不知道被我丢到哪去了,又要重新写一个,顺便把功能整理加强了一些,加入了取QueryString和Cookie的东西,老习惯,贴代码. 
 
以下为引用的内容:
  RequestHelper.js
  //功能 : 在javascript中提供QueryString/Cookie/Anchor的访问.
  /*使用 :
  var Request = new RequestHelper();
  var s = Request.QueryString["id"]; //取得url中的id参数.
  var c = Request.Cookies["name"]; //取得id为name的cookie值.
  var a = Request.Anchor; //取得url中定位的锚点名称.
  */
  //更新 : 2008-05-31
  RequestHelper.prototype.GetParams = function()
  {
   var result = {};
   var loc = document.location.toString();
   if(loc.indexOf("?") > -1)
   {
   var l = loc.lastIndexOf("#") > -1 ? loc.lastIndexOf("#") : loc.length;
   var param_str = loc.substring(loc.indexOf("?")+1, l);
   var params = param_str.split("&");
   for(var x = 0; x < params.length; x++)
   {
   params[x] = params[x].split("=");
   result[params[x][0]] = params[x][1];
   }
   }
   return result;
  }
  RequestHelper.prototype.GetCookies = function()
  {
   var result = {};
   var cookie = document.cookie;
   if(cookie.length > 0)
   {
   var reg = /(^[a-zA-z0-9]+?|; [a-zA-z0-9]+?)=/g;
   var c = cookie.match(reg);
   if(c)
   {
   var n = 0;
   for(var x = 0; x < c.length; x++)
   {
   n = (x < c.length - 1) ? cookie.indexOf(c[x + 1].toString()) : cookie.length;
   var s = cookie.substring(cookie.indexOf(c[x].toString()),n);
   s = s.split("=");
   s[0] = s[0].replace(/^; / , "");
   result[s[0]] = s[1];
   }
   }
   }
   return result;
  }
  
  RequestHelper.prototype.GetAnchor = function()
  {
   var Anchor;
   var loc = document.location.toString()
   if(loc.lastIndexOf("#") > -1)
   {
   Anchor = loc.substring(loc.lastIndexOf("#")+1);
   }
   return Anchor;
  }
  
  function RequestHelper()
  {
   this.QueryString = this.GetParams();
   this.Cookies = this.GetCookies();
   this.Anchor = this.GetAnchor();
  }
  
因cookie的名称不支持某些特殊符号,所以只取了数字和字母。