Freigeben über


DynamicQueryStringParameter Klasse

Definition

Generiert automatisch eine Auflistung von Parametern, die verwendet wird, um die Where-Klausel für das Datenquellensteuerelement durch Abrufen von Abfragezeichenfolgenwerten zu erstellen.

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 Sie das DynamicQueryStringParameter Objekt als Filter verwenden, wenn Daten in einem GridView Steuerelement angezeigt werden. Das GridView Steuerelement enthält ein TemplateField -Objekt, das einen Link erstellt, der den Wert der Abfragezeichenfolge 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 Dynamic Data-Features verwenden. Die DynamicQueryStringParameter -Klasse generiert eine Auflistung von Parameter Objekten für die Primärschlüssel, Fremdschlüssel und boolesche Spalten einer Tabelle, indem Abfragezeichenfolgenwerte abgerufen werden.

Bei Primärschlüsseln können Sie einfach ein DynamicQueryStringParameter Objekt hinzufügen, ohne andere Parameter anzugeben. Dynamic Data generiert die Parameter für den Primärschlüssel oder die 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 der DynamicDataManager -Methode beim DynamicDataManager.RegisterControl Steuerelement registrieren.

Sehen Sie sich ein Laufzeitcodebeispiel für dieses Feature an: Ausführen.

Konstruktoren

DynamicQueryStringParameter()

Initialisiert eine neue Instanz der DynamicQueryStringParameter-Klasse.

Eigenschaften

ConvertEmptyStringToNull

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der Wert, an den das Parameter-Objekt gebunden ist, nach null konvertiert werden soll, wenn er Empty ist.

(Geerbt von Parameter)
DbType

Ruft den Datenbanktyp des Parameters ab oder legt diesen fest.

(Geerbt von Parameter)
DefaultValue

Gibt einen Standardwert für den Parameter an, wenn der Wert, an den der Parameter gebunden ist, beim Aufrufen der Evaluate(HttpContext, Control)-Methode nicht initialisiert ist.

(Geerbt von Parameter)
Direction

Gibt an, ob das Parameter-Objekt zum Binden eines Werts an ein Steuerelement oder das Steuerelement zum Ändern des Werts verwendet werden kann.

(Geerbt von Parameter)
IsTrackingViewState

Ruft einen Wert ab, der angibt, ob das Parameter-Objekt Änderungen des Ansichtszustands speichert.

(Geerbt von Parameter)
Name

Ruft den Namen des Parameters ab oder legt ihn fest.

(Geerbt von Parameter)
Size

Ruft die Größe des Parameters ab oder legt sie fest.

(Geerbt von Parameter)
Type

Ruft den Typ des Parameters ab oder legt ihn fest.

(Geerbt von Parameter)
ViewState

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

(Geerbt von Parameter)

Methoden

Clone()

Gibt ein Duplikat der aktuellen Parameter-Instanz zurück.

(Geerbt von Parameter)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(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()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GetWhereParameters(IDynamicDataSource)

Gibt eine Auflistung von Parameter-Objekten zurück, die durch Abrufen von Abfragezeichenfolgenwerten automatisch für die Spalten einer Tabelle generiert werden.

LoadViewState(Object)

Stellt den früher gespeicherten Ansichtszustand der Datenquellenansicht wieder her.

(Geerbt von Parameter)
MemberwiseClone()

Erstellt eine flache Kopie des 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 zurück an den Server gesendet wurde.

(Geerbt von Parameter)
SetDirty()

Markiert das Parameter-Objekt, damit 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 an ihrem Ansichtszustand nachverfolgt, damit sie im ViewState-Objekt des Steuerelements gespeichert und über Anforderungen der gleichen Seite hinweg beibehalten werden.

(Geerbt von Parameter)

Explizite Schnittstellenimplementierungen

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 des Ansichtszustands speichert.

(Geerbt von Parameter)
IStateManager.LoadViewState(Object)

Stellt den früher 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 zurück an den Server gesendet wurde.

(Geerbt von Parameter)
IStateManager.TrackViewState()

Bewirkt, dass das Parameter-Objekt Änderungen an ihrem Ansichtszustand nachverfolgt, damit sie im ViewState-Objekt des Steuerelements gespeichert und über Anforderungen der gleichen Seite hinweg beibehalten werden.

(Geerbt von Parameter)

Gilt für:

Weitere Informationen