다음을 통해 공유


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.RegisterControl 데이터 바인딩된 컨트롤을 DynamicDataManager 컨트롤에 등록해야 합니다.

생성자

Name Description
DynamicQueryStringParameter()

DynamicQueryStringParameter 클래스의 새 인스턴스를 초기화합니다.

속성

Name Description
ConvertEmptyStringToNull

개체가 바인딩된 값을 변환할지 nullEmpty여부를 나타내는 값을 Parameter 가져오거나 설정합니다.

(다음에서 상속됨 Parameter)
DbType

매개 변수의 데이터베이스 형식을 가져오거나 설정합니다.

(다음에서 상속됨 Parameter)
DefaultValue

메서드가 호출될 때 매개 변수가 초기화되지 않을 바인딩된 값인 경우 매개 변수의 기본값을 Evaluate(HttpContext, Control) 지정합니다.

(다음에서 상속됨 Parameter)
Direction

개체가 컨트롤에 Parameter 값을 바인딩하는 데 사용되는지 또는 컨트롤을 사용하여 값을 변경할 수 있는지 여부를 나타냅니다.

(다음에서 상속됨 Parameter)
IsTrackingViewState

개체가 뷰 상태에 대한 변경 내용을 저장하고 있는지 여부를 Parameter 나타내는 값을 가져옵니다.

(다음에서 상속됨 Parameter)
Name

매개 변수의 이름을 가져오거나 설정합니다.

(다음에서 상속됨 Parameter)
Size

매개 변수의 크기를 가져오거나 설정합니다.

(다음에서 상속됨 Parameter)
Type

매개 변수의 형식을 가져오거나 설정합니다.

(다음에서 상속됨 Parameter)
ViewState

동일한 페이지에 대한 여러 요청에서 개체의 Parameter 뷰 상태를 저장하고 복원할 수 있는 상태 정보 사전을 가져옵니다.

(다음에서 상속됨 Parameter)

메서드

Name Description
Clone()

현재 Parameter 인스턴스의 중복을 반환합니다.

(다음에서 상속됨 Parameter)
Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
Evaluate(HttpContext, Control)

InvalidOperationException 모든 경우에 예외를 throw합니다.

GetDatabaseType()

현재 Parameter 인스턴스의 DbType CLR 형식과 동일한 값을 가져옵니다.

(다음에서 상속됨 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)

명시적 인터페이스 구현

Name Description
ICloneable.Clone()

현재 Parameter 인스턴스의 중복을 반환합니다.

(다음에서 상속됨 Parameter)
IStateManager.IsTrackingViewState

개체가 뷰 상태에 대한 변경 내용을 저장하고 있는지 여부를 Parameter 나타내는 값을 가져옵니다.

(다음에서 상속됨 Parameter)
IStateManager.LoadViewState(Object)

데이터 원본 뷰의 이전에 저장된 뷰 상태를 복원합니다.

(다음에서 상속됨 Parameter)
IStateManager.SaveViewState()

페이지가 서버에 다시 게시된 이후 개체의 뷰 상태에 대한 변경 내용을 Parameter 저장합니다.

(다음에서 상속됨 Parameter)
IStateManager.TrackViewState()

개체가 Parameter 컨트롤의 ViewState 개체에 저장되고 동일한 페이지에 대한 요청 간에 유지될 수 있도록 개체가 뷰 상태에 대한 변경 내용을 추적하도록 합니다.

(다음에서 상속됨 Parameter)

적용 대상

추가 정보