Udostępnij za pośrednictwem


DynamicQueryStringParameter Klasa

Definicja

Automatycznie generuje kolekcję parametrów używanych do tworzenia Where klauzuli kontroli źródła danych przez pobieranie wartości ciągu zapytania.

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
Dziedziczenie
DynamicQueryStringParameter
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak używać obiektu jako filtru DynamicQueryStringParameter podczas wyświetlania danych w kontrolce GridView . Kontrolka GridView zawiera TemplateField obiekt, który tworzy link, który ustawia wartość ciągu zapytania przy użyciu wartości klucza obcego.

<%@ 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>

Uwagi

Klasa DynamicQueryStringParameter jest używana przez strony korzystające z funkcji ASP.NET dynamicznych danych. Klasa DynamicQueryStringParameter wygeneruje kolekcję Parameter obiektów dla kluczy podstawowych, kluczy obcych i kolumn logicznych tabeli przez pobieranie wartości ciągu zapytania.

W przypadku kluczy podstawowych można po prostu dodać DynamicQueryStringParameter obiekt bez podawania innych parametrów. Dane dynamiczne wygenerują parametry klucza podstawowego lub kluczy. W przypadku kluczy obcych lub kolumn logicznych należy ustawić Name właściwość na nazwę kolumny, którą chcesz filtrować.

Aby użyć DynamicQueryStringParameter klasy, musisz dodać kontrolkę do strony i musisz zarejestrować kontrolkę DynamicDataManager powiązaną z danymi za pomocą kontrolki DynamicDataManagerDynamicDataManager.RegisterControl przy użyciu metody .

Zobacz przykład kodu w czasie wykonywania tej funkcji: Uruchom.

Konstruktory

DynamicQueryStringParameter()

Inicjuje nowe wystąpienie klasy DynamicQueryStringParameter.

Właściwości

ConvertEmptyStringToNull

Pobiera lub ustawia wartość wskazującą, Parameter czy wartość, którą obiekt jest powiązany, powinna zostać przekonwertowana na null wartość , jeśli jest Emptyto .

(Odziedziczone po Parameter)
DbType

Pobiera lub ustawia typ bazy danych parametru.

(Odziedziczone po Parameter)
DefaultValue

Określa wartość domyślną parametru, jeśli wartość parametru jest powiązana z niezainicjowaną, gdy Evaluate(HttpContext, Control) metoda jest wywoływana.

(Odziedziczone po Parameter)
Direction

Wskazuje, czy Parameter obiekt jest używany do powiązania wartości z kontrolką, czy kontrolki można użyć do zmiany wartości.

(Odziedziczone po Parameter)
IsTrackingViewState

Pobiera wartość wskazującą, czy Parameter obiekt zapisuje zmiany w stanie widoku.

(Odziedziczone po Parameter)
Name

Pobiera lub ustawia nazwę parametru.

(Odziedziczone po Parameter)
Size

Pobiera lub ustawia rozmiar parametru.

(Odziedziczone po Parameter)
Type

Pobiera lub ustawia typ parametru.

(Odziedziczone po Parameter)
ViewState

Pobiera słownik informacji o stanie, który umożliwia zapisanie i przywrócenie stanu Parameter widoku obiektu na wielu żądaniach dla tej samej strony.

(Odziedziczone po Parameter)

Metody

Clone()

Zwraca duplikat bieżącego Parameter wystąpienia.

(Odziedziczone po Parameter)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Evaluate(HttpContext, Control)

InvalidOperationException Zgłasza wyjątek we wszystkich przypadkach.

GetDatabaseType()

DbType Pobiera wartość równoważną typowi CLR bieżącego Parameter wystąpienia.

(Odziedziczone po Parameter)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
GetWhereParameters(IDynamicDataSource)

Zwraca kolekcję Parameter obiektów, które są automatycznie generowane dla kolumn tabeli, pobierając wartości ciągu zapytania.

LoadViewState(Object)

Przywraca wcześniej zapisany stan widoku źródła danych.

(Odziedziczone po Parameter)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnParameterChanged()

Wywołuje metodę OnParametersChanged(EventArgs) kolekcji ParameterCollection zawierającej Parameter obiekt.

(Odziedziczone po Parameter)
SaveViewState()

Zapisuje zmiany w Parameter stanie widoku obiektu od czasu opublikowania strony z powrotem na serwerze.

(Odziedziczone po Parameter)
SetDirty()

Oznacza obiekt tak Parameter , aby jego stan był rejestrowany w stanie widoku.

(Odziedziczone po Parameter)
ToString()

Konwertuje wartość tego wystąpienia na jego równoważną reprezentację w postaci ciągu.

(Odziedziczone po Parameter)
TrackViewState()

Parameter Powoduje, że obiekt śledzi zmiany w stanie widoku, dzięki czemu można je przechowywać w obiekcie kontrolki ViewState i utrwalać w żądaniach dla tej samej strony.

(Odziedziczone po Parameter)

Jawne implementacje interfejsu

ICloneable.Clone()

Zwraca duplikat bieżącego Parameter wystąpienia.

(Odziedziczone po Parameter)
IStateManager.IsTrackingViewState

Pobiera wartość wskazującą, czy Parameter obiekt zapisuje zmiany w stanie widoku.

(Odziedziczone po Parameter)
IStateManager.LoadViewState(Object)

Przywraca wcześniej zapisany stan widoku źródła danych.

(Odziedziczone po Parameter)
IStateManager.SaveViewState()

Zapisuje zmiany w Parameter stanie widoku obiektu od czasu opublikowania strony z powrotem na serwerze.

(Odziedziczone po Parameter)
IStateManager.TrackViewState()

Parameter Powoduje, że obiekt śledzi zmiany w stanie widoku, dzięki czemu można je przechowywać w obiekcie kontrolki ViewState i utrwalać w żądaniach dla tej samej strony.

(Odziedziczone po Parameter)

Dotyczy

Zobacz też