软件培训网

欢迎访问软件培训网!招生咨询电话与微信:15225191462(周老师)
软件培训网,专业解决学IT疑难杂症!

首页 > .net > .net技术/ 正文

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

2013-08-15 14:36:50 Java培训

  四、Application8UB软件培训网

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

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

  以下是代码片段:8UB软件培训网

  void Application_Start()8UB软件培训网

  {8UB软件培训网

  DataSet ds =new DataSet();8UB软件培训网

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

  StreamReader reader =new StreamReader(fs);8UB软件培训网

  ds.ReadXml(reader);8UB软件培训网

  fs.Close();8UB软件培训网

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

  Application["Source"] = view;8UB软件培训网

  }8UB软件培训网

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

  以下是代码片段:8UB软件培训网

  void Page_Load(Object sender, EventArgs e)8UB软件培训网

  {8UB软件培训网

  DataView Source = (DataView)(Application["Source"]);8UB软件培训网

  MyDataGrid.DataSource = Source;8UB软件培训网

  }8UB软件培训网

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

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

  五、Cookie:8UB软件培训网

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

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

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

  以下是代码片段:8UB软件培训网

  protectedvoid Page_Load(Object sender, EventArgs e)8UB软件培训网

  {8UB软件培训网

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

  {8UB软件培训网

  HttpCookie cookie =new HttpCookie("preferences1");8UB软件培训网

  cookie.Values.Add"ForeColor", "black");8UB软件培训网

  Response.AppendCookie(cookie);8UB软件培训网

  }8UB软件培训网

  }8UB软件培训网

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

  以下是代码片段:8UB软件培训网

  protected String GetStyle(String key)8UB软件培训网

  {8UB软件培训网

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

  if (cookie !=null)8UB软件培训网

  {8UB软件培训网

  switch (key)8UB软件培训网

  {8UB软件培训网

  case"ForeColor" :8UB软件培训网

  return cookie.Values["ForeColor"];8UB软件培训网

  break;8UB软件培训网

  }8UB软件培训网

  }8UB软件培训网

  return"";8UB软件培训网

  }8UB软件培训网

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

  以下是代码片段:8UB软件培训网

  protectedvoid Submit_Click(Object sender, EventArgs e)8UB软件培训网

  {8UB软件培训网

  HttpCookie cookie =new HttpCookie("preferences2");8UB软件培训网

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

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

  Response.AppendCookie(cookie);8UB软件培训网

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

  }8UB软件培训网

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

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

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


Tags:安卓系统开发平台,asp环境搭建软件,asp用什么软件打开,asp软件培训地址,actionscript基本语法,安卓系统开发工具

搜索
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
  • QQ交谈