Freigeben über


DynamicQueryStringParameter Klasse

Definition

Generiert automatisch eine Auflistung von Parametern, die zum Erstellen der Where Klausel für das Datenquellensteuerelement verwendet wird, indem Abfragezeichenfolgenwerte abgerufen werden.

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
Vererbung
DynamicQueryStringParameter
Implementiert

Beispiele

Das folgende Beispiel zeigt, wie das DynamicQueryStringParameter Objekt beim Anzeigen von Daten in einem GridView Steuerelement als Filter verwendet wird. Das GridView Steuerelement enthält ein TemplateField Objekt, das einen Link erstellt, der den Abfragezeichenfolgenwert mithilfe des Fremdschlüsselwerts festlegt.

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

Hinweise

Die DynamicQueryStringParameter Klasse wird von Seiten verwendet, die ASP.NET Dynamische Datenfeatures verwenden. Die DynamicQueryStringParameter Klasse generiert eine Auflistung von Parameter Objekten für die Primärschlüssel, Fremdschlüssel und booleschen Spalten einer Tabelle, indem Abfragezeichenfolgenwerte abgerufen werden.

Bei Primärschlüsseln können Sie einfach ein DynamicQueryStringParameter Objekt hinzufügen, ohne andere Parameter angeben zu müssen. Dynamische Daten generieren die Parameter für den Primärschlüssel oder schlüssel. Bei Fremdschlüsseln oder booleschen Spalten müssen Sie die Name Eigenschaft auf den Namen der Spalte festlegen, die Sie filtern möchten.

Um die DynamicQueryStringParameter Klasse verwenden zu können, müssen Sie der Seite ein DynamicDataManager Steuerelement hinzufügen, und Sie müssen das datengebundene Steuerelement mit dem DynamicDataManager Steuerelement mithilfe der DynamicDataManager.RegisterControl Methode registrieren.

Konstruktoren

Name Beschreibung
DynamicQueryStringParameter()

Initialisiert eine neue Instanz der DynamicQueryStringParameter-Klasse.

Eigenschaften

Name Beschreibung
ConvertEmptyStringToNull

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Wert, an den das Parameter Objekt gebunden ist, konvertiert null werden soll, wenn es ist Empty.

(Geerbt von Parameter)
DbType

Dient zum Abrufen oder Festlegen des Datenbanktyps des Parameters.

(Geerbt von Parameter)
DefaultValue

Gibt einen Standardwert für den Parameter an, sollte der Wert, an den der Parameter gebunden ist, nicht initialisiert werden, wenn die Evaluate(HttpContext, Control) Methode aufgerufen wird.

(Geerbt von Parameter)
Direction

Gibt an, ob das Parameter Objekt verwendet wird, um einen Wert an ein Steuerelement zu binden, oder das Steuerelement kann verwendet werden, um den Wert zu ändern.

(Geerbt von Parameter)
IsTrackingViewState

Ruft einen Wert ab, der angibt, ob das Parameter Objekt Änderungen am Ansichtszustand speichert.

(Geerbt von Parameter)
Name

Dient zum Abrufen oder Festlegen des Namens des Parameters.

(Geerbt von Parameter)
Size

Dient zum Abrufen oder Festlegen der Größe des Parameters.

(Geerbt von Parameter)
Type

Dient zum Abrufen oder Festlegen des Typs des Parameters.

(Geerbt von Parameter)
ViewState

Ruft ein Wörterbuch mit Statusinformationen ab, mit dem Sie den Ansichtszustand eines Parameter Objekts über mehrere Anforderungen für dieselbe Seite speichern und wiederherstellen können.

(Geerbt von Parameter)

Methoden

Name Beschreibung
Clone()

Gibt ein Duplikat der aktuellen Parameter Instanz zurück.

(Geerbt von Parameter)
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
Evaluate(HttpContext, Control)

Löst in allen Fällen eine InvalidOperationException Ausnahme aus.

GetDatabaseType()

Ruft den DbType Wert ab, der dem CLR-Typ der aktuellen Parameter Instanz entspricht.

(Geerbt von Parameter)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
GetWhereParameters(IDynamicDataSource)

Gibt eine Auflistung von Parameter Objekten zurück, die automatisch für die Spalten einer Tabelle generiert werden, indem Abfragezeichenfolgenwerte abgerufen werden.

LoadViewState(Object)

Stellt den zuvor gespeicherten Ansichtszustand der Datenquellenansicht wieder her.

(Geerbt von Parameter)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
OnParameterChanged()

Ruft die OnParametersChanged(EventArgs) Methode der ParameterCollection Auflistung auf, die das Parameter Objekt enthält.

(Geerbt von Parameter)
SaveViewState()

Speichert die Änderungen am Ansichtszustand des Parameter Objekts seit dem Zeitpunkt, zu dem die Seite wieder auf dem Server gepostet wurde.

(Geerbt von Parameter)
SetDirty()

Markiert das Parameter Objekt so, dass sein Zustand im Ansichtszustand aufgezeichnet wird.

(Geerbt von Parameter)
ToString()

Konvertiert den Wert dieser Instanz in die entsprechende Zeichenfolgendarstellung.

(Geerbt von Parameter)
TrackViewState()

Bewirkt, dass das Parameter Objekt Änderungen am Ansichtszustand nachverfolgt, sodass sie im Objekt des Steuerelements ViewState gespeichert und über Anforderungen für dieselbe Seite hinweg beibehalten werden können.

(Geerbt von Parameter)

Explizite Schnittstellenimplementierungen

Name Beschreibung
ICloneable.Clone()

Gibt ein Duplikat der aktuellen Parameter Instanz zurück.

(Geerbt von Parameter)
IStateManager.IsTrackingViewState

Ruft einen Wert ab, der angibt, ob das Parameter Objekt Änderungen am Ansichtszustand speichert.

(Geerbt von Parameter)
IStateManager.LoadViewState(Object)

Stellt den zuvor gespeicherten Ansichtszustand der Datenquellenansicht wieder her.

(Geerbt von Parameter)
IStateManager.SaveViewState()

Speichert die Änderungen am Ansichtszustand des Parameter Objekts seit dem Zeitpunkt, zu dem die Seite wieder auf dem Server gepostet wurde.

(Geerbt von Parameter)
IStateManager.TrackViewState()

Bewirkt, dass das Parameter Objekt Änderungen am Ansichtszustand nachverfolgt, sodass sie im Objekt des Steuerelements ViewState gespeichert und über Anforderungen für dieselbe Seite hinweg beibehalten werden können.

(Geerbt von Parameter)

Gilt für:

Weitere Informationen