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 verileri 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. parametresi için özellik DefaultValue 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. AccessDataSource nesnesi 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
http isteği sorgu dizesinin parçası olarak geçirilen bir alanın değerini parametreli sorgu veya komutta kullanılan bir parametreye bağlamak için sınıfını kullanabilirsiniz QueryStringParameter . Alanı koleksiyondan QueryString alınır.
Parametreye veri bağlayan denetimler, bir QueryStringParameter nesneye başvurulsa, ancak karşılık gelen sorgu dizesi adı/değer çifti geçirilmediyse bir özel durum oluşturabilir. Benzer şekilde, sorgu dizesi alan adı karşılık gelen bir değer olmadan geçirilirse veri görüntülemeyebilirler. Bu durumlardan kaçınmak için, uygun olan yerlerde özelliğini 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
QueryStringParameter sınıfı geçirilen 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 adsız ö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 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 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 bir değer belirtir. (Devralındığı yer: Parameter) |
Direction |
Nesnenin Parameter bir değeri bir 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 |
Parametresinin 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 |
Parametresinin 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 kaydetmenize ve geri yüklemenize olanak tanıyan 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) |
Güncelleştirmeler ve nesnesinin QueryStringParameter değerini 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() |
Sayfa sunucuya geri gönderildiğinden Parameter beri nesnenin görünüm durumundaki değişiklikleri kaydeder. (Devralındığı yer: Parameter) |
SetDirty() |
Parameter Durumu görünüm durumunda kaydedilecek şekilde nesneyi 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 gelebilir. (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() |
Sayfa sunucuya geri gönderildiğinden Parameter beri 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 gelebilir. (Devralındığı yer: Parameter) |
Şunlara uygulanır
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin