2017年11月12    欢迎访问软件培训网!
  网站首页     java     安卓技术     .net     网络技术     linux技术     php技术     windows技术     软件测试  
你现在的位置是:首页 > .net > .net技术 》正文

.net 页面传参的六种方式(3)


时间:2013-08-15 14:36:50      来源Java培训       作者:JAVA培训

  四、Application2LS软件培训网

  因为应用程序和它存储的所有对象可以同时由不同的线程访问,所以最好只将很少修改的数据与应用程序范围一起存储。理想情况是,对象在 Application_Start 事件中初始化,对它的进一步访问是只读的。2LS软件培训网

  在下面的示例中,文件在 Application_Start(在 Global.asax 文件中定义)中读取,内容则以应用程序状态存储在 DataView 对象中。2LS软件培训网

  以下是代码片段:2LS软件培训网

  void Application_Start()2LS软件培训网

  {2LS软件培训网

  DataSet ds =new DataSet();2LS软件培训网

  FileStream fs =new FileStream(Server.MapPath("schemadata.xml"),FileMode.Open,FileAccess.Read);2LS软件培训网

  StreamReader reader =new StreamReader(fs);2LS软件培训网

  ds.ReadXml(reader);2LS软件培训网

  fs.Close();2LS软件培训网

  DataView view =new DataView(ds.Tables[0]);2LS软件培训网

  Application["Source"] = view;2LS软件培训网

  }2LS软件培训网

  在 Page_Load 方法中,DataView 随后被检索并用于填充 DataGrid 对象:2LS软件培训网

  以下是代码片段:2LS软件培训网

  void Page_Load(Object sender, EventArgs e)2LS软件培训网

  {2LS软件培训网

  DataView Source = (DataView)(Application["Source"]);2LS软件培训网

  MyDataGrid.DataSource = Source;2LS软件培训网

  }2LS软件培训网

  此解决方案的优点是只有第一个请求付出检索数据的代价。所有后面的请求则使用已有的 DataView 对象。由于数据自初始化后从不修改,所以不必为序列化访问做任何规定。2LS软件培训网

  Application得使用一般是相对于整个项目来说相对静止的变量,比如数据库连接变量等。对于那些针对每一个用户,每一个会话未必一样得变量就不适用了。通常Application变量得值是在Config终指定。也可以在global.ascx中指定。2LS软件培训网

  五、Cookie:2LS软件培训网

  下面的示例说明如何使用客户端 Cookie 存储易失的用户首选项。2LS软件培训网

  在客户端存储 Cookie 是 ASP.NET 的会话状态将请求与会话关联的方法之一。Cookie 也可以直接用于在请求之间保持数据,但数据随后将存储在客户端并随每个请求一起发送到服务器。浏览器对 Cookie 的大小有限制,因此,只有不超过 4096 字节才能保证被接受。2LS软件培训网

  当数据存储在客户端时,文件 cookies1.aspx 中的 Page_Load 方法检查客户端是否已发送了 Cookie。如果没有,则创建并初始化一个新的 Cookie 并将其存储在客户端:2LS软件培训网

  以下是代码片段:2LS软件培训网

  protectedvoid Page_Load(Object sender, EventArgs e)2LS软件培训网

  {2LS软件培训网

  if (Request.Cookies["preferences1"] ==null)2LS软件培训网

  {2LS软件培训网

  HttpCookie cookie =new HttpCookie("preferences1");2LS软件培训网

  cookie.Values.Add"ForeColor", "black");2LS软件培训网

  Response.AppendCookie(cookie);2LS软件培训网

  }2LS软件培训网

  }2LS软件培训网

  在同一页上,再次使用 GetStyle 方法提供存储在 Cookie 中的个别值:2LS软件培训网

  以下是代码片段:2LS软件培训网

  protected String GetStyle(String key)2LS软件培训网

  {2LS软件培训网

  HttpCookie cookie = Request.Cookies["preferences1"];2LS软件培训网

  if (cookie !=null)2LS软件培训网

  {2LS软件培训网

  switch (key)2LS软件培训网

  {2LS软件培训网

  case"ForeColor" :2LS软件培训网

  return cookie.Values["ForeColor"];2LS软件培训网

  break;2LS软件培训网

  }2LS软件培训网

  }2LS软件培训网

  return"";2LS软件培训网

  }2LS软件培训网

  若要使 Cookie 在会话之间持久,必须将 HttpCookie 类上的 Expires 属性设置为将来的某个日期。除了 Cookie.Expires 的赋值,下列自定义 .aspx 页上的代码与上一个示例相同:2LS软件培训网

  以下是代码片段:2LS软件培训网

  protectedvoid Submit_Click(Object sender, EventArgs e)2LS软件培训网

  {2LS软件培训网

  HttpCookie cookie =new HttpCookie("preferences2");2LS软件培训网

  cookie.Values.Add("ForeColor",ForeColor.Value);2LS软件培训网

  cookie.Expires = DateTime.MaxValue; // Never Expires2LS软件培训网

  Response.AppendCookie(cookie);2LS软件培训网

  Response.Redirect(State["Referer"].ToString());2LS软件培训网

  }2LS软件培训网

  Cookie作为一种提交,请求时保存数据得方式,又很明显的优缺点。他的缺点在上面有所表述,比如大小受限,不能保存对象等,另外,作为保存时间,也就 是数据得有效期来说,确是保存得最好的。我们可以通过设置cookie得过期时间等属性来设置。Cookie又很多常用属性,包括domain,path 等,这些资料可以在quickstart上获取到。2LS软件培训网

.net 页面传参的六种方式(3) 2LS软件培训网

本文由软件培训网整理,转载请注明:http://www.softpeixun.com2LS软件培训网

软件培训| java培训 | .net培训 |安卓培训|网站地图
关于我们 - 联系方式  友情链接 Copyright @ 2010-2017 郑州翔天信鸽科技有限公司 All Rights Reserved 版权所有  
郑州翔天信鸽: 郑州市文化路90号河南财经政法大学文南校区1号楼  招生热线:0371-63383522 豫ICP备10022989号-4
就业合作:北大青鸟郑州翔天信鸽常年为企业推荐优秀毕业学员   就业合作热线:0371-63610601
  • QQ交谈