Aracılığıyla paylaş


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 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, 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 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 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ı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 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 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)

Şunlara uygulanır

Ayrıca bkz.