다음을 통해 공유


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 Dynamic Data 기능을 사용 하는 페이지에서 사용 됩니다. 합니다 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 예외를 throw합니다.

GetDatabaseType()

CLR 형식의 현재 DbType 인스턴스에 해당하는 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)

적용 대상

추가 정보