次の方法で共有


DynamicQueryStringParameter クラス

定義

クエリ文字列値を取得することによって、データ ソース コントロールの Where 句の作成に使用するパラメーターのコレクションを自動的に生成します。

public ref class DynamicQueryStringParameter : System::Web::UI::WebControls::Parameter, System::Web::DynamicData::IWhereParametersProvider
public class DynamicQueryStringParameter : System.Web.UI.WebControls.Parameter, System.Web.DynamicData.IWhereParametersProvider
type DynamicQueryStringParameter = class
    inherit Parameter
    interface IWhereParametersProvider
Public Class DynamicQueryStringParameter
Inherits Parameter
Implements IWhereParametersProvider
継承
DynamicQueryStringParameter
実装

次の例は、コントロールにデータを表示するときに、 オブジェクトを DynamicQueryStringParameter フィルターとして使用する方法を GridView 示しています。 GridViewコントロールには、外部キー値をTemplateField使用してクエリ文字列値を設定するリンクを作成する オブジェクトが含まれています。

<%@ 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">
 
  protected void Page_Init(object sender, EventArgs e)
  {
    // Registers the data-bound control with
    // the DynamicDataManager control.
    DynamicDataManager1.RegisterControl(ProductsGridView);
    
    // Initializes the URL for the View All link 
    // to the current page.
    ViewAllLink.NavigateUrl = Request.Path;

  }

  protected string GetFilterPath()
  {
    // Retrieves the current data item.
    var productItem = (Product)GetDataItem();
    if (productItem.ProductCategory != null)
    {
      // Creates a URL that has a query string value
      // set to the foreign key value.      
      return Request.Path + "?ProductCategoryID=" 
        + productItem.ProductCategoryID.ToString();
    }
    return string.Empty;
  }

  protected string GetProductCategory()
  {
    // Returns the value for the Name column
    // in the relationship table.    
    var productItem = (Product)GetDataItem();
    if (productItem.ProductCategory != null)
    {
      return productItem.ProductCategory.Name;
    }
    return string.Empty;
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
  <title>DynamicQueryStringParameter Example</title>
  <link href="~/Site.css" rel="stylesheet" type="text/css" />
</head>
<body class="template">
  <form id="form1" runat="server">
    <div>
    
      <h2>DynamicQueryStringParameter Example</h2>
      
      <asp:DynamicDataManager ID="DynamicDataManager1" runat="server"
        AutoLoadForeignKeys="true" />
              
      <asp:GridView ID="ProductsGridView" runat="server"
        AutoGenerateColumns="false"
        DataSourceID="ProductsDataSource"
        AllowPaging="true"
        CssClass="gridview">
        <Columns>
          <asp:DynamicField DataField="Name" />
          <asp:DynamicField DataField="ProductNumber" />
          <asp:DynamicField DataField="Color" />
          <asp:TemplateField HeaderText="Category">
            <ItemTemplate>
              <a runat="server" href='<%# GetFilterPath() %>'>
                <asp:Label runat="server" ID="ProductCategory" Text='<%# GetProductCategory() %>' />
              </a>
            </ItemTemplate>
          </asp:TemplateField>
        </Columns>
      </asp:GridView>
      <br />
      
      <div class="bottomhyperlink">
        <asp:HyperLink runat="server" ID="ViewAllLink" Text="View All Records" />
      </div>


      <!-- This example uses Microsoft SQL Server and connects   -->
      <!-- to the AdventureWorksLT sample database.              -->
      <asp:LinqDataSource ID="ProductsDataSource" runat="server" 
        TableName="Products"
        ContextTypeName="AdventureWorksLTDataContext" >
        <WhereParameters>
          <asp:DynamicQueryStringParameter Name="ProductCategory" />
        </WhereParameters>
      </asp:LinqDataSource>
      
    </div>
  </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">
 
  Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs)
    ' Registers the data-bound control with
    ' the DynamicDataManager control.
    DynamicDataManager1.RegisterControl(ProductsGridView)
    
    ' Initializes the URL for the View All link 
    ' to the current page.
    ViewAllLink.NavigateUrl = Request.Path    
  End Sub

  Protected Function GetFilterPath() As String
    ' Retrieves the current data item.
    Dim productItem = CType(GetDataItem(), Product)
    If Not (productItem.ProductCategory Is Nothing) Then
      ' Creates a URL that has a query string value
      ' set to the foreign key value.
      Return Request.Path + "?ProductCategoryID=" + productItem.ProductCategoryID.ToString()
    End If
    Return String.Empty

  End Function

  Protected Function GetProductCategory() As String
    ' Returns the value for the Name column
    ' in the relationship table.
    Dim productItem = CType(GetDataItem(), Product)
    If Not (productItem.ProductCategory Is Nothing) Then
      Return productItem.ProductCategory.Name
    End If
    Return String.Empty
  End Function
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>DynamicQueryStringParameter Example</title>
  <link href="~/Site.css" rel="stylesheet" type="text/css" />
</head>
<body class="template">
  <form id="form1" runat="server">
    <div>
    
      <h2>DynamicQueryStringParameter Example</h2>
      
      <asp:DynamicDataManager ID="DynamicDataManager1" runat="server"
        AutoLoadForeignKeys="true" />
              
      <asp:GridView ID="ProductsGridView" runat="server"
        AutoGenerateColumns="false"
        DataSourceID="ProductsDataSource"
        AllowPaging="true"
        CssClass="gridview">
        <Columns>
          <asp:DynamicField DataField="Name" />
          <asp:DynamicField DataField="ProductNumber" />
          <asp:DynamicField DataField="Color" />
          <asp:TemplateField HeaderText="Category">
            <ItemTemplate>
              <a runat="server" href='<%# GetFilterPath() %>'>
                <asp:Label runat="server" ID="ProductCategory" Text='<%# GetProductCategory() %>' />
              </a>
            </ItemTemplate>
          </asp:TemplateField>
        </Columns>
      </asp:GridView>
      <br />
      
      <div class="bottomhyperlink">
        <asp:HyperLink runat="server" ID="ViewAllLink" Text="View All Records" />
      </div>


      <!-- This example uses Microsoft SQL Server and connects   -->
      <!-- to the AdventureWorksLT sample database.              -->
      <asp:LinqDataSource ID="ProductsDataSource" runat="server" 
        TableName="Products"
        ContextTypeName="AdventureWorksLTDataContext" >
        <WhereParameters>
          <asp:DynamicQueryStringParameter Name="ProductCategory" />
        </WhereParameters>
      </asp:LinqDataSource>
      
    </div>
  </form>
</body>
</html>

注釈

クラスは DynamicQueryStringParameter 、動的データ機能を使用しているページ ASP.NET 使用されます。 クラスは DynamicQueryStringParameter 、クエリ文字列値を取得することによって、テーブルの Parameter 主キー、外部キー、およびブール型の列のオブジェクトのコレクションを生成します。

主キーの場合は、他のパラメーターを DynamicQueryStringParameter 指定せずにオブジェクトを追加するだけです。 動的データは、主キーまたはキーのパラメーターを生成します。 外部キーまたはブール型の列の場合は、 プロパティを Name フィルター処理する列の名前に設定する必要があります。

クラスを使用 DynamicQueryStringParameter するには、ページにコントロールを DynamicDataManager 追加する必要があり、 メソッドを使用してデータ バインド コントロールを コントロールに DynamicDataManager 登録する DynamicDataManager.RegisterControl 必要があります。

この機能のランタイム コード例を参照してください: 実行

コンストラクター

DynamicQueryStringParameter()

DynamicQueryStringParameter クラスの新しいインスタンスを初期化します。

プロパティ

ConvertEmptyStringToNull

Parameter オブジェクトのバインド先の値が Empty の場合に、その値を null に変換する必要があるかどうかを示す値を取得または設定します。

(継承元 Parameter)
DbType

パラメーターのデータベース型を取得または設定します。

(継承元 Parameter)
DefaultValue

パラメーターの既定値を指定します。Evaluate(HttpContext, Control) メソッドの呼び出し時に、パラメーターはこの値にバインドされ、初期化前の状態に戻されます。

(継承元 Parameter)
Direction

Parameter オブジェクトを使用して値をコントロールにバインドするかどうか、またはそのコントロールを使用して値を変更できるかどうかを示します。

(継承元 Parameter)
IsTrackingViewState

Parameter オブジェクトがビューステートへの変更を保存しているかどうかを示す値を取得します。

(継承元 Parameter)
Name

パラメーターの名前を取得または設定します。

(継承元 Parameter)
Size

パラメーターのサイズを取得または設定します。

(継承元 Parameter)
Type

パラメーターの型を取得または設定します。

(継承元 Parameter)
ViewState

同一のページに対する複数の要求にわたって、Parameter オブジェクトのビューステートを保存し、復元できるようにする状態情報のディクショナリを取得します。

(継承元 Parameter)

メソッド

Clone()

現在の Parameter インスタンスの複製を返します。

(継承元 Parameter)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Evaluate(HttpContext, Control)

常に InvalidOperationException 例外をスローします。

GetDatabaseType()

現在の DbType インスタンスの CLR 型と等価な Parameter 値を取得します。

(継承元 Parameter)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetWhereParameters(IDynamicDataSource)

クエリ文字列値を取得することによってテーブルの列に対して自動的に生成される Parameter オブジェクトのコレクションを返します。

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)

適用対象

こちらもご覧ください