软件培训网

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

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

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

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

  四、Application5Br软件IT培训网-河南郑州IT培训

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

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

  以下是代码片段:5Br软件IT培训网-河南郑州IT培训

  void Application_Start()5Br软件IT培训网-河南郑州IT培训

  {5Br软件IT培训网-河南郑州IT培训

  DataSet ds =new DataSet();5Br软件IT培训网-河南郑州IT培训

  FileStream fs =new FileStream(Server.MapPath("schemadata.xml"),FileMode.Open,FileAccess.Read);5Br软件IT培训网-河南郑州IT培训

  StreamReader reader =new StreamReader(fs);5Br软件IT培训网-河南郑州IT培训

  ds.ReadXml(reader);5Br软件IT培训网-河南郑州IT培训

  fs.Close();5Br软件IT培训网-河南郑州IT培训

  DataView view =new DataView(ds.Tables[0]);5Br软件IT培训网-河南郑州IT培训

  Application["Source"] = view;5Br软件IT培训网-河南郑州IT培训

  }5Br软件IT培训网-河南郑州IT培训

  在 Page_Load 方法中,DataView 随后被检索并用于填充 DataGrid 对象:5Br软件IT培训网-河南郑州IT培训

  以下是代码片段:5Br软件IT培训网-河南郑州IT培训

  void Page_Load(Object sender, EventArgs e)5Br软件IT培训网-河南郑州IT培训

  {5Br软件IT培训网-河南郑州IT培训

  DataView Source = (DataView)(Application["Source"]);5Br软件IT培训网-河南郑州IT培训

  MyDataGrid.DataSource = Source;5Br软件IT培训网-河南郑州IT培训

  }5Br软件IT培训网-河南郑州IT培训

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

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

  五、Cookie:5Br软件IT培训网-河南郑州IT培训

  下面的示例说明如何使用客户端 Cookie 存储易失的用户首选项。5Br软件IT培训网-河南郑州IT培训

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

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

  以下是代码片段:5Br软件IT培训网-河南郑州IT培训

  protectedvoid Page_Load(Object sender, EventArgs e)5Br软件IT培训网-河南郑州IT培训

  {5Br软件IT培训网-河南郑州IT培训

  if (Request.Cookies["preferences1"] ==null)5Br软件IT培训网-河南郑州IT培训

  {5Br软件IT培训网-河南郑州IT培训

  HttpCookie cookie =new HttpCookie("preferences1");5Br软件IT培训网-河南郑州IT培训

  cookie.Values.Add"ForeColor", "black");5Br软件IT培训网-河南郑州IT培训

  Response.AppendCookie(cookie);5Br软件IT培训网-河南郑州IT培训

  }5Br软件IT培训网-河南郑州IT培训

  }5Br软件IT培训网-河南郑州IT培训

  在同一页上,再次使用 GetStyle 方法提供存储在 Cookie 中的个别值:5Br软件IT培训网-河南郑州IT培训

  以下是代码片段:5Br软件IT培训网-河南郑州IT培训

  protected String GetStyle(String key)5Br软件IT培训网-河南郑州IT培训

  {5Br软件IT培训网-河南郑州IT培训

  HttpCookie cookie = Request.Cookies["preferences1"];5Br软件IT培训网-河南郑州IT培训

  if (cookie !=null)5Br软件IT培训网-河南郑州IT培训

  {5Br软件IT培训网-河南郑州IT培训

  switch (key)5Br软件IT培训网-河南郑州IT培训

  {5Br软件IT培训网-河南郑州IT培训

  case"ForeColor" :5Br软件IT培训网-河南郑州IT培训

  return cookie.Values["ForeColor"];5Br软件IT培训网-河南郑州IT培训

  break;5Br软件IT培训网-河南郑州IT培训

  }5Br软件IT培训网-河南郑州IT培训

  }5Br软件IT培训网-河南郑州IT培训

  return"";5Br软件IT培训网-河南郑州IT培训

  }5Br软件IT培训网-河南郑州IT培训

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

  以下是代码片段:5Br软件IT培训网-河南郑州IT培训

  protectedvoid Submit_Click(Object sender, EventArgs e)5Br软件IT培训网-河南郑州IT培训

  {5Br软件IT培训网-河南郑州IT培训

  HttpCookie cookie =new HttpCookie("preferences2");5Br软件IT培训网-河南郑州IT培训

  cookie.Values.Add("ForeColor",ForeColor.Value);5Br软件IT培训网-河南郑州IT培训

  cookie.Expires = DateTime.MaxValue; // Never Expires5Br软件IT培训网-河南郑州IT培训

  Response.AppendCookie(cookie);5Br软件IT培训网-河南郑州IT培训

  Response.Redirect(State["Referer"].ToString());5Br软件IT培训网-河南郑州IT培训

  }5Br软件IT培训网-河南郑州IT培训

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

.net 页面传参的六种方式(3) 5Br软件IT培训网-河南郑州IT培训

本文由软件培训网整理,转载请注明:http://www.softpeixun.com5Br软件IT培训网-河南郑州IT培训


Tags:郑州java网站开发培训,零基础学java难么,郑州黑马java培训,郑州千峰java培训,郑州蓝鸥java培训,郑州java培训学校

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