SqlDataSourceFilteringEventArgs.ParameterValues Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u een IOrderedDictionary object op dat toegang biedt tot de Parameter objecten van de SqlDataSource klasse.
public:
property System::Collections::Specialized::IOrderedDictionary ^ ParameterValues { System::Collections::Specialized::IOrderedDictionary ^ get(); };
public System.Collections.Specialized.IOrderedDictionary ParameterValues { get; }
member this.ParameterValues : System.Collections.Specialized.IOrderedDictionary
Public ReadOnly Property ParameterValues As IOrderedDictionary
Waarde van eigenschap
Een IOrderedDictionary van Parameter objecten.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u gegevens ophaalt uit de Northwind-database en filtert met behulp van een FilterExpression en FilterParameters. De FilterExpression methode SqlDataSource wordt toegepast wanneer de Select methode wordt uitgevoerd om gegevens op te halen. In dit voorbeeld bevat het FilterExpression een tijdelijke aanduiding voor een filterparameter, die zich in de FilterParameters verzameling bevindt. In het Filtering geval wordt de filterparameter weergegeven in een Label besturingselement.
<%@ 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 Sub SqlDataSource1_Filtering(ByVal sender As Object, _
// ByVal e As System.Web.UI.WebControls.SqlDataSourceFilteringEventArgs)
// Label1.Text = e.ParameterValues(0).ToString()
//End Sub
protected void SqlDataSource1_Filtering(object sender, SqlDataSourceFilteringEventArgs e)
{
Label1.Text = e.ParameterValues[0].ToString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="FORM1" runat="server">
<p>Show all employees with the following title:
<asp:DropDownList
id="DropDownList1"
runat="server"
AutoPostBack="True">
<asp:ListItem>Sales Representative</asp:ListItem>
<asp:ListItem>Sales Manager</asp:ListItem>
<asp:ListItem>Vice President, Sales</asp:ListItem>
</asp:DropDownList></p>
<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:NorthwindConnection %>"
SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"
FilterExpression="Title='{0}'" OnFiltering="SqlDataSource1_Filtering">
<FilterParameters>
<asp:ControlParameter Name="Title" ControlId="DropDownList1" PropertyName="SelectedValue"/>
</FilterParameters>
</asp:SqlDataSource><br />
<asp:GridView
id="GridView1"
runat="server"
DataSourceID="SqlDataSource1"
AutoGenerateColumns="False">
<columns>
<asp:BoundField Visible="False" DataField="EmployeeID" />
<asp:BoundField HeaderText="First Name" DataField="FirstName" />
<asp:BoundField HeaderText="Last Name" DataField="LastName" />
</columns>
</asp:GridView>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</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 SqlDataSource1_Filtering(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.SqlDataSourceFilteringEventArgs)
Label1.Text = e.ParameterValues(0).ToString()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<p>Show all employees with the following title:
<asp:DropDownList
id="DropDownList1"
runat="server"
AutoPostBack="True">
<asp:ListItem>Sales Representative</asp:ListItem>
<asp:ListItem>Sales Manager</asp:ListItem>
<asp:ListItem>Vice President, Sales</asp:ListItem>
</asp:DropDownList></p>
<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:NorthwindConnection %>"
SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"
FilterExpression="Title='{0}'" OnFiltering="SqlDataSource1_Filtering">
<FilterParameters>
<asp:ControlParameter Name="Title" ControlId="DropDownList1" PropertyName="SelectedValue"/>
</FilterParameters>
</asp:SqlDataSource><br />
<asp:GridView
id="GridView1"
runat="server"
DataSourceID="SqlDataSource1"
AutoGenerateColumns="False">
<columns>
<asp:BoundField Visible="False" DataField="EmployeeID" />
<asp:BoundField HeaderText="First Name" DataField="FirstName" />
<asp:BoundField HeaderText="Last Name" DataField="LastName" />
</columns>
</asp:GridView>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</form>
</body>
</html>
Opmerkingen
De SqlDataSourceFilteringEventArgs klasse wordt gebruikt om gegevens door te geven aan de Filtering gebeurtenis-handler van de SqlDataSource. De ParameterValues eigenschap biedt toegang tot de filterparameterwaarden voordat de filterbewerking wordt uitgevoerd.
Important
Valideer alle filterparameterwaarden die u van de client ontvangt en annuleer de selectiebewerking als er ongeldige parameters zijn. De runtime vervangt de parameterwaarde in de filterexpressie en past deze toe op het resultaat van de selectiemethode. Het is mogelijk dat gecompromitteerde waarden de filterexpressie zodanig wijzigen dat er meer rijen worden weergegeven dan anders zichtbaar is voor de client. Als u de FilterExpression eigenschap gebruikt als een beveiligingsmaatregel om het aantal geretourneerde items te beperken, moet u de parameterwaarden valideren voordat het filteren plaatsvindt.