Share via


QueryStringParameter Kelas

Definisi

Mengikat nilai bidang kueri-string permintaan HTTP ke objek parameter.

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
Warisan
QueryStringParameter

Contoh

Contoh berikut menunjukkan cara membuat QueryStringParameter objek untuk digunakan sebagai filter saat Anda menampilkan data dalam GridView kontrol. Anda menambahkan QueryStringParameter objek ke AccessDataSource koleksi kontrol FilterParameters . Objek parameter mengikat nilai bidang query-string yang dinamai country dengan string-nya FilterExpression . Karena tidak ada DefaultValue properti yang ditentukan untuk parameter, jika tidak ada bidang bernama country yang diteruskan dengan string kueri, AccessDataSource kontrol akan menampilkan NullReferenceException pengecualian. Jika bidang bernama country diteruskan tetapi tidak memiliki nilai, GridView kontrol tidak menampilkan data.

<%@ 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>

Contoh berikut menunjukkan cara membuat QueryStringParameter objek untuk menampilkan data dari database Access dengan menggunakan kueri SQL berparameter. Objek AccessDataSource mengambil rekaman yang kemudian ditampilkan dalam GridView kontrol. GridView Kontrol ini juga dapat diedit, dan memungkinkan pengguna memperbarui status pesanan dalam tabel Northwind Traders Orders.

<%@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>

Keterangan

Anda dapat menggunakan QueryStringParameter kelas untuk mengikat nilai bidang yang diteruskan sebagai bagian dari string kueri permintaan HTTP ke parameter yang digunakan dalam kueri atau perintah berparameter. Bidang diambil dari QueryString koleksi.

Kontrol yang mengikat data ke parameter mungkin melemparkan pengecualian jika QueryStringParameter objek direferensikan, tetapi tidak ada pasangan nama/nilai string kueri yang sesuai yang diteruskan. Demikian pula, mereka mungkin tidak menampilkan data jika nama bidang string kueri diteruskan tanpa nilai yang sesuai. Untuk menghindari situasi ini, atur properti jika DefaultValue sesuai.

Kelas QueryStringParameter menyediakan QueryStringField properti , yang mengidentifikasi nama nilai string kueri yang akan diikat. Ini juga menyediakan properti yang diwarisi dari Parameter kelas .

Penting

Kelas QueryStringParameter tidak memvalidasi nilai yang diteruskan; kelas memberikan nilai mentah. Namun, Anda dapat memvalidasi nilai QueryStringParameter objek dalam kontrol sumber data. Untuk melakukannya, tangani Selecting, Updating, Inserting, atau Deleting peristiwa kontrol sumber data dan periksa nilai parameter di penanganan aktivitas. Jika nilai parameter tidak lulus tes validasi, Anda dapat membatalkan operasi data dengan mengatur Cancel properti kelas terkait CancelEventArgs ke true.

Konstruktor

QueryStringParameter()

Menginisialisasi instans kelas baru yang tidak disebutkan QueryStringParameter namanya.

QueryStringParameter(QueryStringParameter)

Menginisialisasi instans QueryStringParameter baru kelas, menggunakan nilai instans yang ditentukan oleh original parameter .

QueryStringParameter(String, DbType, String)

Menginisialisasi instans QueryStringParameter kelas bernama baru, menggunakan bidang string kueri yang ditentukan dan jenis data parameter.

QueryStringParameter(String, String)

Menginisialisasi instans QueryStringParameter kelas bernama baru, menggunakan string yang ditentukan untuk mengidentifikasi bidang string kueri mana yang akan diikat.

QueryStringParameter(String, TypeCode, String)

Menginisialisasi instans QueryStringParameter kelas bernama baru yang dinamai dan ditik dengan kuat, menggunakan string yang ditentukan untuk mengidentifikasi bidang string kueri mana yang akan diikat.

Properti

ConvertEmptyStringToNull

Mendapatkan atau menetapkan nilai yang menunjukkan apakah nilai yang Parameter terikat objek harus dikonversi ke null jika itu adalah Empty.

(Diperoleh dari Parameter)
DbType

Mendapatkan atau mengatur jenis database parameter.

(Diperoleh dari Parameter)
DefaultValue

Menentukan nilai default untuk parameter, jika nilai parameter terikat untuk tidak diinisialisasi saat Evaluate(HttpContext, Control) metode dipanggil.

(Diperoleh dari Parameter)
Direction

Menunjukkan apakah Parameter objek digunakan untuk mengikat nilai ke kontrol, atau kontrol dapat digunakan untuk mengubah nilai.

(Diperoleh dari Parameter)
IsTrackingViewState

Mendapatkan nilai yang menunjukkan apakah Parameter objek menyimpan perubahan pada status tampilannya.

(Diperoleh dari Parameter)
Name

Mendapatkan atau mengatur nama parameter.

(Diperoleh dari Parameter)
QueryStringField

Mendapatkan atau mengatur nama bidang string kueri yang mengikat parameter.

Size

Mendapatkan atau mengatur ukuran parameter.

(Diperoleh dari Parameter)
Type

Mendapatkan atau mengatur jenis parameter.

(Diperoleh dari Parameter)
ValidateInput

Mendapatkan atau mengatur apakah nilai parameter string kueri sedang divalidasi atau tidak.

ViewState

Mendapatkan kamus informasi status yang memungkinkan Anda menyimpan dan memulihkan status Parameter tampilan objek di beberapa permintaan untuk halaman yang sama.

(Diperoleh dari Parameter)

Metode

Clone()

Mengembalikan duplikat instans saat ini QueryStringParameter .

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Evaluate(HttpContext, Control)

Updates dan mengembalikan nilai QueryStringParameter objek.

GetDatabaseType()

Mendapatkan nilai yang setara dengan jenis CLR instans DbType saat ini Parameter .

(Diperoleh dari Parameter)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
LoadViewState(Object)

Memulihkan status tampilan sumber data yang sebelumnya disimpan.

(Diperoleh dari Parameter)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
OnParameterChanged()

OnParametersChanged(EventArgs) Memanggil metode ParameterCollection koleksi yang berisi Parameter objek .

(Diperoleh dari Parameter)
SaveViewState()

Menyimpan perubahan ke Parameter status tampilan objek sejak halaman diposting kembali ke server.

(Diperoleh dari Parameter)
SetDirty()

Parameter Menandai objek sehingga statusnya akan direkam dalam status tampilan.

(Diperoleh dari Parameter)
ToString()

Mengonversi nilai instans ini ke representasi string yang setara.

(Diperoleh dari Parameter)
TrackViewState()

Parameter Menyebabkan objek melacak perubahan pada status tampilannya sehingga dapat disimpan di objek kontrol ViewState dan bertahan di seluruh permintaan untuk halaman yang sama.

(Diperoleh dari Parameter)

Implementasi Antarmuka Eksplisit

ICloneable.Clone()

Mengembalikan duplikat instans saat ini Parameter .

(Diperoleh dari Parameter)
IStateManager.IsTrackingViewState

Mendapatkan nilai yang menunjukkan apakah Parameter objek menyimpan perubahan pada status tampilannya.

(Diperoleh dari Parameter)
IStateManager.LoadViewState(Object)

Memulihkan status tampilan sumber data yang sebelumnya disimpan.

(Diperoleh dari Parameter)
IStateManager.SaveViewState()

Menyimpan perubahan ke Parameter status tampilan objek sejak halaman diposting kembali ke server.

(Diperoleh dari Parameter)
IStateManager.TrackViewState()

Parameter Menyebabkan objek melacak perubahan pada status tampilannya sehingga dapat disimpan di objek kontrol ViewState dan bertahan di seluruh permintaan untuk halaman yang sama.

(Diperoleh dari Parameter)

Berlaku untuk

Lihat juga