知识大全 ASP.NET ViewState 初探

Posted

篇首语:事亲尽教自天成,鉴本无尘水本清。相彼禽兮犹学习,灵乌反哺更分明。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET ViewState 初探相关的知识,希望对你有一定的参考价值。

ASP.NET ViewState 初探  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

请看下面的示例 要在 Web 页上显示一个项目列表 而每个用户需要不同的列表排序 项目列表是静态的 因此可以将这些页面绑定到相同的缓存数据集 而排序顺序只是用户特定的 UI 状态的一小部分 ViewState 非常适合于存储这种类型的值 代码如下      [Visual Basic]   <%@ Import Namespace= System Data %>   <HTML>   <HEAD>   <title>用于页面 UI 状态值的 ViewState/title>   </HEAD>   <body>   <form runat= server >   <H >   在 ViewState 中存储非控件状态   </H >   <P>   此示例将一列静态数据的当前排序顺序存储在 ViewState 中 <br>   单击列标题中的链接 可按该字段排序数据 <br>   再次单击该链接 将按相反顺序排序   <br><br><br>   <asp:datagrid id= DataGrid runat= server   OnSortCommand= SortGrid BorderStyle= None BorderWidth= px   BorderColor= #CCCCCC BackColor= White CellPadding= AllowSorting= True >   <HeaderStyle Font Bold= True ForeColor= White   BackColor= # >   </HeaderStyle>   </asp:datagrid>   </P>   </form>   </body>   </HTML>   <script runat= server >       在 ViewState 中跟踪 SortField 属性   Property SortField() As String      Get   Dim o As Object = ViewState( SortField )   If o Is Nothing Then   Return String Empty   End If   Return CStr(o)   End Get      Set(Value As String)   If Value = SortField Then    与当前排序文件相同 切换排序方向   SortAscending = Not SortAscending   End If   ViewState( SortField ) = Value   End Set      End Property       在 ViewState 中跟踪 SortAscending 属性   Property SortAscending() As Boolean      Get   Dim o As Object = ViewState( SortAscending )   If o Is Nothing Then   Return True   End If   Return CBool(o)   End Get      Set(Value As Boolean)   ViewState( SortAscending ) = Value   End Set      End Property      Private Sub Page_Load(sender As Object e As EventArgs) Handles MyBase Load      If Not Page IsPostBack Then   BindGrid()   End If      End Sub      Sub BindGrid()       获取数据   Dim ds As New DataSet()   ds ReadXml(Server MapPath( TestData xml ))      Dim dv As New DataView(ds Tables( ))       应用排序过滤器和方向   dv Sort = SortField   If Not SortAscending Then   dv Sort += DESC   End If       绑定网格   DataGrid DataSource = dv   DataGrid DataBind()      End Sub      Private Sub SortGrid(sender As Object e As DataGridSortCommandEventArgs)   DataGrid CurrentPageIndex =   SortField = e SortExpression   BindGrid()   End Sub      </script>      [C#]   <%@ Page Language= C# %>   <%@ Import Namespace= System Data %>   <HTML>   <HEAD>   <title>用于页面 UI 状态值的 ViewState</title>   </HEAD>   <body>   <form runat= server >   <H >   在 ViewState 中存储非控件状态   </H >   <P>   此示例将一列静态数据的当前排序顺序存储在 ViewState 中 <br>   单击列标题中的链接 可按该字段排序数据 <br>   再次单击该链接 将按相反顺序排序   <br><br><br>   <asp:datagrid id= DataGrid runat= server OnSortCommand= SortGrid   BorderStyle= None BorderWidth= px BorderColor= #CCCCCC   BackColor= White CellPadding= AllowSorting= True >   <HeaderStyle Font Bold= True ForeColor= White BackColor= # >   </HeaderStyle>   </asp:datagrid>   </P>   </form>   </body>   </HTML>   <script runat= server >      // 在 ViewState 中跟踪 SortField 属性   string SortField      get   object o = ViewState[ SortField ];   if (o == null)   return String Empty;      return (string)o;         set   if (value == SortField)   // 与当前排序文件相同 切换排序方向   SortAscending = !SortAscending;      ViewState[ SortField ] = value;            // 在 ViewState 中跟踪 SortAscending 属性   bool SortAscending      get   object o = ViewState[ SortAscending ];   if (o == null)   return true;      return (bool)o;         set   ViewState[ SortAscending ] = value;            void Page_Load(object sender EventArgs e)      if (!Page IsPostBack)   BindGrid();            void BindGrid()      // 获取数据   DataSet ds = new DataSet();   ds ReadXml(Server MapPath( TestData xml ));      DataView dv = new DataView(ds Tables[ ]);      // 应用排序过滤器和方向   dv Sort = SortField;   if (!SortAscending)   dv Sort += DESC ;         // 绑定网格   DataGrid DataSource = dv;   DataGrid DataBind();         void SortGrid(object sender DataGridSortCommandEventArgs e)      DataGrid CurrentPageIndex = ;   SortField = e SortExpression;   BindGrid();         </script>      下面是上述两个代码段中引用的 testdata xml 的代码      <?xml version= standalone= yes ?>   <NewDataSet>   <Table>   <pub_id> </pub_id>   <pub_name>New Moon Books</pub_name>   <city>Boston</city>   <state>MA</state>   <country>USA</country>   </Table>   <Table>   <pub_id> </pub_id>   <pub_name>Binnet & Hardley</pub_name>   <city>Washington</city>   <state>DC</state>   <country>USA</country>   </Table>   <Table>   <pub_id> </pub_id>   <pub_name>Algodata Infosystems</pub_name>   <city>Berkeley</city>   <state>CA</state>   <country>USA</country>   </Table>   <Table>   <pub_id> </pub_id>   <pub_name>Five Lakes Publishing</pub_name>   <city>Chicago</city>   <state>IL</state>   <country>USA</country>   </Table>   <Table>   <pub_id> </pub_id>   <pub_name>Ramona Publishers</pub_name>   <city>Dallas</city>   <state>TX</state>   <country>USA</country>   </Table>   <Table>   <pub_id> </pub_id>   <pub_name>GGG&G</pub_name>   <city>Muenchen</city>   <country>Germany</country>   </Table>   <Table>   <pub_id> </pub_id>   <pub_name>Scootney Books</pub_name>   <city>New York</city>   <state>NY</state>   <country>USA</country>   </Table>   <Table>   <pub_id> </pub_id>   <pub_name>Lucerne Publishing</pub_name>   <city>Paris</city>   <country>France</country>   </Table>   </NewDataSet> cha138/Article/program/net/201311/12702

相关参考

知识大全 ASP.NET ViewState 初探 (1)

ASP.NETViewState初探(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ASP.NET缓存初探 使用得当是关键

ASP.NET缓存初探使用得当是关键  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  文中对ASP

知识大全 ASP.NET AJAX客户端组件初探

ASP.NETAJAX客户端组件初探  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  以组件的思想

知识大全 asp.net返回上一个页面

  //首先要获取URL如下所示  privatestringUrlReferrer    set    ViewState[UrlReferrer]=value;    get    if(View

知识大全 DataGrid的ViewState

DataGrid的ViewState  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  减少View

知识大全 ASP.NET 揭秘 ASP.NET页面的结构

ASP.NET揭秘ASP.NET页面的结构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!TheSt

知识大全 ASP.NET底层架构探索之进入ASP.NET

ASP.NET底层架构探索之进入ASP.NET  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  A

知识大全 IIS处理Asp.net请求和 Asp.net页面生命周期

IIS处理Asp.net请求和Asp.net页面生命周期  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 如何由ASP.NET 1.1移植到ASP.NET 2.0

如何由ASP.NET1.1移植到ASP.NET2.0  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 ASP.NET底层架构之从浏览器到ASP.NET

ASP.NET底层架构之从浏览器到ASP.NET  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n