知识大全 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.NETViewState初探(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 
ASP.NET缓存初探使用得当是关键 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 文中对ASP
ASP.NETAJAX客户端组件初探 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 以组件的思想
//首先要获取URL如下所示 privatestringUrlReferrer set ViewState[UrlReferrer]=value; get if(View
DataGrid的ViewState 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 减少View
ASP.NET揭秘ASP.NET页面的结构 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!TheSt
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 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n