软件培训网

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Tags:郑州网络工程师技术培训,信息系统管理工程师,3g软件工程师技术培训,安卓培训机构,郑州java培训,android 零基础培训

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