SqlDataSourceFilteringEventArgs.ParameterValues Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Sınıfın nesnelerine Parameter erişim sağlayan bir IOrderedDictionary nesnesi SqlDataSource alır.
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
Özellik Değeri
Nesnelerden IOrderedDictionary biri Parameter .
Örnekler
Aşağıdaki kod örneği, Northwind veritabanından veri almayı ve ve FilterExpressionFilterParameterskullanarak filtrelemeyi gösterir. FilterExpression yöntemi SqlDataSource veri almak için yürütülür her zaman Select uygulanır. Bu örnekte , FilterExpression bir filtre parametresi için koleksiyonda FilterParameters yer alan bir yer tutucu içerir. Olayda Filtering , filtre parametresi bir Label denetimde görüntülenir.
<%@ 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>
Açıklamalar
SqlDataSourceFilteringEventArgs sınıfı, öğesinin Filtering olay işleyicisine SqlDataSourceveri geçirmek için kullanılır. özelliği, ParameterValues filtreleme işlemi gerçekleştirilmeden önce filtre parametresi değerlerine erişim sağlar.
Önemli
İstemciden aldığınız tüm filtre parametresi değerlerini doğrulamalı ve geçersiz parametreler varsa seçme işlemini iptal etmelisiniz. Çalışma zamanı, parametre değerini filtre ifadesiyle değiştirerek select yönteminin sonucuna uygular. Güvenliği aşılmış değerlerin filtre ifadesini, istemcinin görebileceğinden daha fazla satır ortaya çıkaracak şekilde değiştirmesi mümkündür. döndürülen öğe sayısını sınırlamak için bir güvenlik önlemi olarak özelliğini kullanıyorsanız FilterExpression , filtreleme gerçekleşmeden önce parametre değerlerini doğrulamanız gerekir.