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

ASP.NET
用ASP/ASP.NET实现网络空间管理
ASP.NET程序中用Repeater实现分页
在ASP.NET中上传图片并生成缩略图的C#源码
Asp.net动态生成html页面
DataGrid同时具有分页和排序功能及注意点
建立自己的RSS
Asp.net中处理一个站点不同Web应用共享Session的问题
创建完全可编辑的 DataGrid
调试ASP.NET应用程序的方法和技巧
让你的.NET程序兼容不同版本的Dll文件
用ASP.NET实现简单的文字水印
ASP.NET中实现中文简/繁体自动转换的类
ASP.NET技巧:为Blog打造个性日历
ASP.NET中使用IFRAME建立类Modal窗口
WEB页面多语言支持解决方案
涉及网络编程时,需要用到的几个常用方法
2个页面间不通过Session与url的传值方式
ASPX中的用户控件与ASP中的INCLUDE方法对比
使用HttpWebRequest向网站模拟上传数据
在asp.net中操作sql server数据库的一些小技巧

ASP.NET 中的 用在JavaScript的RequestHelper


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 60 ::
收藏到网摘: 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的名称不支持某些特殊符号,所以只取了数字和字母。