当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

ViewState与Request.Form及string和String的区别

一:视图状态
 视图状态是ASP.NET 页框架默认情况下用于保存往返过程之间的页和控件值的方法。当呈现页的 HTML 形式时,需要在回发过程中保留的页的当前状态和值将被序列化为 Base64 编码的字符串,并输出到视图状态的隐藏字段中。通过实现自定义的 PageStatePersister 类以存储页数据,您可以更改默认行为并将视图状态存储到另一个位置(如 SQL Server 数据库)。ViewState 属性是一个包含密钥/值对(其中包含视图状态数据)的字典。

       Web 应用程序是无状态的。每次从服务器请求网页时,都会创建网页类的一个新实例。这通常意味着在每次往返过程中将会丢失所有与该页面及其控件关联的信息。例如,如果用户将信息输入到 HTML 网页上的文本框中,此信息将发送到服务器,但是不会返回到客户端。为了克服 Web 编程的这一固有局限性,ASP.NET 页框架包含几种状态管理功能,可以将往返过程之间的页和控件值保存到 Web 服务器,其中一种功能便是视图状态。

   可以将下列类型的对象存储到视图状态中:

字符串

整数

布尔值

Array 对象

ArrayList 对象

哈希表

自定义类型转换器

      ViewState属性用法如下:

        ViewState["paramTable"] = (Hashtable)Session["paramTable"];
        ViewState.Add("paramTable", (Hashtable)Session["paramTable"]);

二:  在CS文件中获得对应页面中的下拉框DropDownList_sitebranch值可以有以下几种方法获得:
        siteInfo.FZJGID = DropDownList_sitebranch.SelectedItem.Value.Trim();
        siteInfo.FZJGID = Request.Form["DropDownList_sitebranch"].ToString();
        siteInfo.FZJGID = Request["DropDownList_sitebranch"].ToString();

   其中Request.Form是 ASP.NET 获取窗体变量的集合。

三:在C#中,string和String有什么区别?
  string属于C#的类型  
  String属于.NET   的类型  
   两者可以等同使用,推荐用string
  在.NET   所有的类型都是对象。下面是.NET   C#   VB.NET   IL的类型对应表:  
   
  NET                             C#               VB.NET                 IL           值或引用  
  System.Boolean     bool             Boolean           bool                 Value  
  System.Byte           byte             Byte         unsigned   int8       Value  
  System.Char           char             Char                 char                 Value  
  System.DateTime     -                   Date                 -                           Value  
  System.Decimal   decimal         Decimal           -                           Value  
  System.Double       double         Double           float64             Value  
  System.Int16         short           Short             int16                 Value  
  System.Int32         int               Integer         int32                 Value  
  System.Int64         long               Long             int64                 Value  
  System.Object       object         Object           object           Reference  
  System.SByte           sbyte           -                       int8                   Value  
  System.Single       float           Single             float32             Value  
  System.String         string         String           string           Reference  
  System.UInt16         ushort         -             unsigned   int16         Value  
  System.UInt32         uint             -             unsigned   int32           Value  
  System.UInt64         ulong         -               unsigned   int64           Value  
   
  从上表可以看到,不仅仅string和String,还有许多类似的类型。有的没有对应的类型,这时使用的就是.NET的,比如说在C#中没有date类型,所以在C#中我们使用.NET   的Date.   这也是.NET的跨语言特性之一。

相关内容
赞助商链接