QueryStringParameter Sınıf
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.
HTTP isteği sorgu dizesi alanının değerini parametre nesnesine bağlar.
public ref class QueryStringParameter : System::Web::UI::WebControls::Parameter
public class QueryStringParameter : System.Web.UI.WebControls.Parameter
type QueryStringParameter = class
inherit Parameter
Public Class QueryStringParameter
Inherits Parameter
- Devralma
Örnekler
Aşağıdaki örnekte, bir QueryStringParameter denetimde GridView veri görüntülerken filtre olarak kullanılacak bir nesnenin nasıl oluşturulacağı gösterilmektedir. Nesneyi denetimin FilterParameters koleksiyonuna AccessDataSource eklersinizQueryStringParameter. parametre nesnesi, adlı country
sorgu dizesi alanının değerini dizeye FilterExpression bağlar. parametre için hiçbir DefaultValue özellik belirtilmediğinden, sorgu dizesiyle adlı country
bir alan geçirilmezse, AccessDataSource denetim bir NullReferenceException özel durum oluşturur. adlı country
bir alan geçirildiyse ancak değeri yoksa, GridView denetim veri görüntülemez.
<%@ Page language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<!-- Use a Query String with country=USA -->
<asp:gridview
id ="GridView1"
runat="server"
datasourceid="MyAccessDataSource" />
<!-- Security Note: The AccessDataSource uses a QueryStringParameter,
Security Note: which does not perform validation of input from the client. -->
<asp:accessdatasource
id="MyAccessDataSource"
runat="server"
datafile="Northwind.mdb"
selectcommand="SELECT EmployeeID, LastName, Address, PostalCode, Country FROM Employees"
filterexpression="Country = '{0}'">
<filterparameters>
<asp:querystringparameter name="country" type="String" querystringfield="country" />
</filterparameters>
</asp:accessdatasource>
</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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<!-- Use a Query String with country=USA -->
<asp:gridview
id ="GridView1"
runat="server"
datasourceid="MyAccessDataSource" />
<!-- Security Note: The AccessDataSource uses a QueryStringParameter,
Security Note: which does not perform validation of input from the client. -->
<asp:accessdatasource
id="MyAccessDataSource"
runat="server"
datafile="Northwind.mdb"
selectcommand="SELECT EmployeeID, LastName, Address, PostalCode, Country FROM Employees"
filterexpression="Country = '{0}'">
<filterparameters>
<asp:querystringparameter name="country" type="String" querystringfield="country" />
</filterparameters>
</asp:accessdatasource>
</form>
</body>
</html>
Aşağıdaki örnekte, parametreli SQL QueryStringParameter sorgusu kullanarak Access veritabanından verileri görüntülemek için bir nesnenin nasıl oluşturulacağı gösterilmektedir. nesnesi AccessDataSource daha sonra bir GridView denetimde görüntülenen kayıtları alır. Denetim GridView de düzenlenebilir ve kullanıcıların Northwind Traders Orders tablosundaki siparişlerin durumunu güncelleştirmesine olanak tanır.
<%@Page Language="C#" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.Common" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
private void UpdateRecords(Object source, EventArgs e)
{
// This method is an example of batch updating using a
// data source control. The method iterates through the rows
// of the GridView, extracts each CheckBox from the row and, if
// the CheckBox is checked, updates data by calling the Update
// method of the data source control, adding required parameters
// to the UpdateParameters collection.
CheckBox cb;
foreach(GridViewRow row in this.GridView1.Rows) {
cb = (CheckBox) row.Cells[0].Controls[1];
if(cb.Checked) {
string oid = (string) row.Cells[1].Text;
MyAccessDataSource.UpdateParameters.Add(new Parameter("date",TypeCode.DateTime,DateTime.Now.ToString()));
MyAccessDataSource.UpdateParameters.Add(new Parameter("orderid",TypeCode.String,oid));
MyAccessDataSource.Update();
MyAccessDataSource.UpdateParameters.Clear();
}
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<!-- Security Note: The SqlDataSource uses a QueryStringParameter,
Security Note: which does not perform validation of input from the client.
Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->
<asp:SqlDataSource
id="MyAccessDataSource"
runat="server"
ProviderName="<%$ ConnectionStrings:MyPasswordProtectedAccess.providerName%>"
ConnectionString="<%$ ConnectionStrings:MyPasswordProtectedAccess%>"
SelectCommand="SELECT OrderID, OrderDate, RequiredDate, ShippedDate FROM Orders WHERE EmployeeID=?"
UpdateCommand="UPDATE Orders SET ShippedDate=? WHERE OrderID = ?">
<SelectParameters>
<asp:QueryStringParameter Name="empId" QueryStringField="empId" />
</SelectParameters>
</asp:SqlDataSource>
<asp:GridView
id ="GridView1"
runat="server"
DataSourceID="MyAccessDataSource"
AllowPaging="True"
PageSize="10"
AutoGenerateColumns="False">
<columns>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:CheckBox runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Order" DataField="OrderID" />
<asp:BoundField HeaderText="Order Date" DataField="OrderDate" />
<asp:BoundField HeaderText="Required Date" DataField="RequiredDate" />
<asp:BoundField HeaderText="Shipped Date" DataField="ShippedDate" />
</columns>
</asp:GridView>
<asp:Button
id="Button1"
runat="server"
Text="Update the Selected Records As Shipped"
OnClick="UpdateRecords" />
<asp:Label id="Label1" runat="server" />
</form>
</body>
</html>
<%@Page Language="VB" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.Common" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Private Sub UpdateRecords(source As Object, e As EventArgs)
' This method is an example of batch updating using a
' data source control. The method iterates through the rows
' of the GridView, extracts each CheckBox from the row and, if
' the CheckBox is checked, updates data by calling the Update
' method of the data source control, adding required parameters
' to the UpdateParameters collection.
Dim cb As CheckBox
Dim row As GridViewRow
For Each row In GridView1.Rows
cb = CType(row.Cells(0).Controls(1), CheckBox)
If cb.Checked Then
Dim oid As String
oid = CType(row.Cells(1).Text, String)
Dim param1 As New Parameter("date", TypeCode.DateTime, DateTime.Now.ToString())
MyAccessDataSource.UpdateParameters.Add(param1)
Dim param2 As New Parameter("orderid", TypeCode.String, oid)
MyAccessDataSource.UpdateParameters.Add(param2)
MyAccessDataSource.Update()
MyAccessDataSource.UpdateParameters.Clear()
End If
Next
End Sub ' UpdateRecords
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<!-- Security Note: The SqlDataSource uses a QueryStringParameter,
Security Note: which does not perform validation of input from the client.
Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->
<asp:SqlDataSource
id="MyAccessDataSource"
runat="server"
ProviderName="<%$ ConnectionStrings:MyPasswordProtectedAccess.providerName%>"
ConnectionString="<%$ ConnectionStrings:MyPasswordProtectedAccess%>"
SelectCommand="SELECT OrderID, OrderDate, RequiredDate, ShippedDate FROM Orders WHERE EmployeeID=?"
UpdateCommand="UPDATE Orders SET ShippedDate=? WHERE OrderID = ?">
<SelectParameters>
<asp:QueryStringParameter Name="empId" QueryStringField="empId" />
</SelectParameters>
</asp:SqlDataSource>
<asp:GridView
id ="GridView1"
runat="server"
DataSourceID="MyAccessDataSource"
AllowPaging="True"
PageSize="10"
AutoGenerateColumns="False">
<columns>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:CheckBox runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Order" DataField="OrderID" />
<asp:BoundField HeaderText="Order Date" DataField="OrderDate" />
<asp:BoundField HeaderText="Required Date" DataField="RequiredDate" />
<asp:BoundField HeaderText="Shipped Date" DataField="ShippedDate" />
</columns>
</asp:GridView>
<asp:Button
id="Button1"
runat="server"
Text="Update the Selected Records As Shipped"
OnClick="UpdateRecords" />
<asp:Label id="Label1" runat="server" />
</form>
</body>
</html>
Açıklamalar
sınıfını QueryStringParameter kullanarak, BIR HTTP isteği sorgu dizesinin parçası olarak geçirilen bir alanın değerini parametreli sorguda veya komutta kullanılan bir parametreye bağlayabilirsiniz. Alan koleksiyondan QueryString alınır.
Parametreye veri bağlayan denetimler, bir QueryStringParameter nesneye başvurulursa bir özel durum oluşturur, ancak karşılık gelen sorgu dizesi adı/değer çifti geçirilmese de. Benzer şekilde, sorgu dizesi alan adı karşılık gelen bir değer olmadan geçirilirse veri görüntülemeyebilir. Bu durumlardan kaçınmak için özelliğini uygun yerlerde ayarlayın DefaultValue .
QueryStringParameter sınıfı, bağlanacak sorgu dizesi değerinin adını tanımlayan özelliğini sağlarQueryStringField. Ayrıca sınıfından devralınan Parameter özellikleri de sağlar.
Önemli
sınıfı geçirilen QueryStringParameter değeri doğrulamaz; ham değeri sağlar. Ancak, veri kaynağı denetimindeki bir QueryStringParameter nesnenin değerini doğrulayabilirsiniz. Bunu yapmak için, veri kaynağı denetiminin Selecting
, Updating
, Inserting
veya Deleting
olayını işleyin ve olay işleyicisindeki parametre değerini denetleyin. parametresinin değeri doğrulama testlerini geçmezse, ilişkili CancelEventArgs sınıfın true
özelliğini olarak ayarlayarak Cancel veri işlemini iptal edebilirsiniz.
Oluşturucular
QueryStringParameter() |
sınıfının yeni bir adlandırılmamış örneğini QueryStringParameter başlatır. |
QueryStringParameter(QueryStringParameter) |
parametresi tarafından belirtilen örneğin değerlerini kullanarak sınıfının yeni bir örneğini QueryStringParameter |
QueryStringParameter(String, DbType, String) |
Belirtilen sorgu dizesi alanını ve parametresinin QueryStringParameter veri türünü kullanarak sınıfının yeni bir adlandırılmış örneğini başlatır. |
QueryStringParameter(String, String) |
Hangi sorgu dizesi alanına bağlanacağını belirlemek için belirtilen dizeyi kullanarak sınıfının yeni bir adlandırılmış örneğini QueryStringParameter başlatır. |
QueryStringParameter(String, TypeCode, String) |
Hangi sorgu dizesi alanına bağlanacağını belirlemek için belirtilen dizeyi kullanarak sınıfının adlandırılmış ve kesin olarak belirlenmiş yeni bir örneğini QueryStringParameter başlatır. |
Özellikler
ConvertEmptyStringToNull |
Nesnenin bağlı olduğu değerin Parameter ise Emptydeğerine dönüştürülmesi |
DbType |
Parametresinin veritabanı türünü alır veya ayarlar. (Devralındığı yer: Parameter) |
DefaultValue |
yöntemi çağrıldığında Evaluate(HttpContext, Control) parametrenin başlatılmamış olarak bağlı olduğu değerin parametresi için varsayılan değeri belirtir. (Devralındığı yer: Parameter) |
Direction |
Nesnenin Parameter bir değeri denetime bağlamak için kullanılıp kullanılmadığını veya denetimin değeri değiştirmek için kullanılıp kullanılamayacağını gösterir. (Devralındığı yer: Parameter) |
IsTrackingViewState |
Nesnenin Parameter görünüm durumundaki değişiklikleri kaydedip kaydetmediğini belirten bir değer alır. (Devralındığı yer: Parameter) |
Name |
Parametrenin adını alır veya ayarlar. (Devralındığı yer: Parameter) |
QueryStringField |
Parametrenin bağlandığını sorgu dizesi alanının adını alır veya ayarlar. |
Size |
Parametresinin boyutunu alır veya ayarlar. (Devralındığı yer: Parameter) |
Type |
Parametrenin türünü alır veya ayarlar. (Devralındığı yer: Parameter) |
ValidateInput |
Sorgu dizesi parametresinin değerinin doğrulanıp doğrulanmadığını alır veya ayarlar. |
ViewState |
Aynı sayfa için birden çok istekte bir nesnenin görünüm durumunu kaydetmenizi ve geri yüklemenizi sağlayan durum Parameter bilgileri sözlüğü alır. (Devralındığı yer: Parameter) |
Yöntemler
Clone() |
Geçerli QueryStringParameter örneğin bir kopyasını döndürür. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
Evaluate(HttpContext, Control) |
Nesnesinin değerini QueryStringParameter güncelleştirir ve döndürür. |
GetDatabaseType() |
DbType Geçerli Parameter örneğin CLR türüne eşdeğer değeri alır. (Devralındığı yer: Parameter) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
LoadViewState(Object) |
Veri kaynağı görünümünün daha önce kaydedilmiş görünüm durumunu geri yükler. (Devralındığı yer: Parameter) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
OnParameterChanged() |
OnParametersChanged(EventArgs) nesnesini içeren Parameter koleksiyonun ParameterCollection yöntemini çağırır. (Devralındığı yer: Parameter) |
SaveViewState() |
Sayfanın sunucuya Parameter geri gönderildiği zamandan bu yana nesnenin görünüm durumundaki değişiklikleri kaydeder. (Devralındığı yer: Parameter) |
SetDirty() |
Nesnenin durumunun Parameter görünüm durumunda kaydedileceği şekilde işaretler. (Devralındığı yer: Parameter) |
ToString() |
Bu örneğinin değerini eşdeğer dize gösterimine dönüştürür. (Devralındığı yer: Parameter) |
TrackViewState() |
Nesnenin görünüm durumundaki Parameter değişiklikleri izlemesine neden olur, böylece bunlar denetimin ViewState nesnesinde depolanabilir ve aynı sayfaya yönelik istekler arasında kalıcı hale getirilir. (Devralındığı yer: Parameter) |
Belirtik Arabirim Kullanımları
ICloneable.Clone() |
Geçerli Parameter örneğin bir kopyasını döndürür. (Devralındığı yer: Parameter) |
IStateManager.IsTrackingViewState |
Nesnenin Parameter görünüm durumundaki değişiklikleri kaydedip kaydetmediğini belirten bir değer alır. (Devralındığı yer: Parameter) |
IStateManager.LoadViewState(Object) |
Veri kaynağı görünümünün daha önce kaydedilmiş görünüm durumunu geri yükler. (Devralındığı yer: Parameter) |
IStateManager.SaveViewState() |
Sayfanın sunucuya Parameter geri gönderildiği zamandan bu yana nesnenin görünüm durumundaki değişiklikleri kaydeder. (Devralındığı yer: Parameter) |
IStateManager.TrackViewState() |
Nesnenin görünüm durumundaki Parameter değişiklikleri izlemesine neden olur, böylece bunlar denetimin ViewState nesnesinde depolanabilir ve aynı sayfaya yönelik istekler arasında kalıcı hale getirilir. (Devralındığı yer: Parameter) |