CookieParameter 類別

定義

將用戶端 HTTP Cookie 的值繫結至參數物件。 此參數可用於參數化查詢或命令來選取、篩選或更新資料。

public ref class CookieParameter : System::Web::UI::WebControls::Parameter
public class CookieParameter : System.Web.UI.WebControls.Parameter
type CookieParameter = class
    inherit Parameter
Public Class CookieParameter
Inherits Parameter
繼承
CookieParameter

範例

下列程式碼範例示範如何使用 SqlDataSource 系結至 HTTP Cookie 的控制項和 CookieParameter 物件,在 控制項中 GridView 顯示 Northwind Traders 資料庫中的資料。

<%@Page  Language="C#" %>
<!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(Object sender, EventArgs e){
  // These cookies might be added by a login form.
  // They are added here for simplicity.
  if (!IsPostBack) {
      Response.Cookies.Add(new HttpCookie("lname",    "davolio"));
      Response.Cookies.Add(new HttpCookie("loginname","ndavolio"));
      Response.Cookies.Add(new HttpCookie("lastvisit", DateTime.Now.ToString()));
  }
}


</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          DataSourceMode="DataSet"
          ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
          SelectCommand = "SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate 
                           FROM Orders WHERE EmployeeID = 
                           (SELECT EmployeeID FROM Employees WHERE LastName = @lastname)">
          <SelectParameters>
            <asp:CookieParameter Name="lastname" CookieName="lname" />
          </SelectParameters>
      </asp:SqlDataSource>

      <asp:GridView
          id="GridView1"
          runat="server"
          AllowSorting="True"
          DataSourceID="SqlDataSource1">
      </asp:GridView>

    </form>
  </body>
</html>
<%@Page  Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

Sub Page_Load(sender As Object, e As EventArgs)
  ' These cookies might be added by a login form.
  ' They are added here for simplicity.
  If (Not IsPostBack) Then
      Dim cookie As HttpCookie

      cookie = New HttpCookie("lname","davolio")
      Response.Cookies.Add(cookie)

      cookie = New HttpCookie("loginname","ndavolio")
      Response.Cookies.Add(cookie)

      cookie = New HttpCookie("lastvisit", DateTime.Now.ToString())
      Response.Cookies.Add(cookie)
  End If
End Sub ' Page_Load
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          DataSourceMode="DataSet"
          ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
          SelectCommand = "SELECT OrderID,CustomerID,OrderDate,RequiredDate,ShippedDate 
                           FROM Orders WHERE EmployeeID = 
                           (SELECT EmployeeID FROM Employees WHERE LastName = @lastname)">
          <SelectParameters>                 
            <asp:CookieParameter Name="lastname" CookieName="lname" />
          </SelectParameters>
      </asp:SqlDataSource>

      <asp:GridView
          id="GridView1"
          runat="server"
          AllowSorting="True"
          DataSourceID="SqlDataSource1">
      </asp:GridView>

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

備註

您可以使用 類別 CookieParameter ,將傳遞為 HTTP 要求一部分的用戶端 HTTP Cookie 值系結至 ASP.NET 資料來源控制項所使用的參數。

除了繼承自 類別的物件之外,類別還提供 CookieParameterCookieName 屬性,識別要系結的物件名稱 HttpCookieParameter 每次呼叫 方法時, Evaluate 類別 CookieParameter 都會嘗試系結至具名 Cookie。

重要

如果 CookieParameter 指定 物件,但未使用 HTTP 要求傳遞對應的 Cookie,系結資料至參數的控制項可能會擲回例外狀況。 同樣地,如果 Cookie 是以 null 傳遞,它們可能不會顯示任何資料。 DefaultValue設定 屬性,以避免在適當情況下發生這些情況。

建構函式

CookieParameter()

初始化 CookieParameter 類別未命名的新執行個體。

CookieParameter(CookieParameter)

使用 original 參數所指定的執行個體值,初始化 CookieParameter 類別的新執行個體。

CookieParameter(String, DbType, String)

初始化 CookieParameter 類別的新執行個體,該類別擁有指定的名稱和資料庫型別,而且繫結至指定的 HTTP Cookie。

CookieParameter(String, String)

利用用於識別要繫結至之 HTTP Cookie 的指定字串,初始化 CookieParameter 類別的新具名執行個體。

CookieParameter(String, TypeCode, String)

利用用於識別要繫結至之 HTTP Cookie 的指定字串,初始化 CookieParameter 類別的新具名強型別 (Strongly Typed) 執行個體。

屬性

ConvertEmptyStringToNull

取得或設定值,該值指示是否應將 Parameter 物件繫結至的值轉換成 null (如果其為 Empty)。

(繼承來源 Parameter)
CookieName

取得或設定參數繫結至的 HTTP Cookie 名稱。

DbType

取得或設定參數的資料庫型別。

(繼承來源 Parameter)
DefaultValue

指定參數的預設值,當呼叫 Evaluate(HttpContext, Control) 方法時,要繫結的值應是此參數未初始化的值。

(繼承來源 Parameter)
Direction

表示此 Parameter 物件是否用來將值繫結至控制項,或是這個控制項是否可用來變更該值。

(繼承來源 Parameter)
IsTrackingViewState

取得值,指出 Parameter 物件是否正在將變更儲存到它的檢視狀態。

(繼承來源 Parameter)
Name

取得或設定參數的名稱。

(繼承來源 Parameter)
Size

取得或設定參數的大小。

(繼承來源 Parameter)
Type

取得或設定參數的類型。

(繼承來源 Parameter)
ValidateInput

取得或設定值,這個值指定參數值是否已驗證。

ViewState

取得狀態資訊的字典,允許您在相同頁面的多個要求之間,儲存和還原 Parameter 物件的檢視狀態。

(繼承來源 Parameter)

方法

Clone()

傳回目前 CookieParameter 執行個體的複製。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Evaluate(HttpContext, Control)

更新並傳回 CookieParameter 物件的值。

GetDatabaseType()

取得 DbType 值,該值等於目前 Parameter 執行個體的 CLR 型別。

(繼承來源 Parameter)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
LoadViewState(Object)

將資料來源檢視還原成之前所儲存的檢視狀態。

(繼承來源 Parameter)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
OnParameterChanged()

呼叫 OnParametersChanged(EventArgs) 集合的 ParameterCollection 方法,該集合包含給定的 Parameter 物件。

(繼承來源 Parameter)
SaveViewState()

儲存自頁面回傳至伺服器以來 Parameter 物件檢視狀態的變更。

(繼承來源 Parameter)
SetDirty()

標記 Parameter 物件,以便將其狀態記錄在檢視狀態中。

(繼承來源 Parameter)
ToString()

將這個執行個體的值轉換為它的相等字串表示。

(繼承來源 Parameter)
TrackViewState()

會造成 Parameter 物件追蹤其檢視狀態變更,以將這些變更儲存在控制項的 ViewState 物件中,並持續存取相同頁面的其他要求。

(繼承來源 Parameter)

明確介面實作

ICloneable.Clone()

傳回目前 Parameter 執行個體的複製。

(繼承來源 Parameter)
IStateManager.IsTrackingViewState

取得值,指出 Parameter 物件是否正在將變更儲存到它的檢視狀態。

(繼承來源 Parameter)
IStateManager.LoadViewState(Object)

將資料來源檢視還原成之前所儲存的檢視狀態。

(繼承來源 Parameter)
IStateManager.SaveViewState()

儲存自頁面回傳至伺服器以來 Parameter 物件檢視狀態的變更。

(繼承來源 Parameter)
IStateManager.TrackViewState()

會造成 Parameter 物件追蹤其檢視狀態變更,以將這些變更儲存在控制項的 ViewState 物件中,並持續存取相同頁面的其他要求。

(繼承來源 Parameter)

適用於

另請參閱