QueryStringParameter Sınıf

Tanım

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
QueryStringParameter

Ö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, Insertingveya 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 QueryStringParameteroriginal başlatır.

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 null gerekip gerekmediğini belirten bir değer alır veya ayarlar.

(Devralındığı yer: Parameter)
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.