www.baike369.com
百科369 > ASP.NET教程 > 使用ASP.NET的SessionParameter对象

使用ASP.NET的SessionParameter对象


使用ASP.NET的SessionParameter对象

SessionParameter对象表示存储在会话状态中的条目。SessionParameter对象除包含基类Parameter的属性以外,还具备下面的属性:

  • SessionField:保存在由SessionParameter表示的会话状态中的条目名称。

实例

在ShowSessionParameter.aspx网页中包含一个GridView控件,该控件用于显示和电影类别相匹配的电影列表。其中,电影类别数据就保存在会话状态中。程序代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ShowSessionParameter.aspx.cs" Inherits="ShowSessionParameter" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    void Page_Load()
    {
        Session["MovieCategoryName"] = "古装";
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>使用ASP.NET的SessionParameter对象-www.baike369.com</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <asp:GridView
        id="grdMovies"
        DataSourceID="srcMovies"
        Runat="server">
    </asp:GridView>

    <asp:SqlDataSource
        id="srcMovies"
        SelectCommand="SELECT Name As Category,Title,Director 
            FROM Movies
            INNER JOIN MovieCategories
            ON CategoryId = MovieCategories.id
            WHERE Name=@Name"
        ConnectionString="<%$ ConnectionStrings:Movies %>"
        Runat="server">
        <SelectParameters>
        <asp:SessionParameter 
            Name="Name"
            SessionField="MovieCategoryName" />
        </SelectParameters>
    </asp:SqlDataSource>

    </div>
    </form>
</body>
</html>

在Page_Load()方法中,当前电影类别的名称被添加到会话状态中。当SqlDataSource控件获取GridView控件显示的电影列表时,它就从会话状态中读取MovieCategoryName条目,然后用它作为参数取出数据供GridView显示。

Copyright© 2011-2016 www.baike369.com All Rights Reserved