This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

ObjectDataSourceFilteringEventHandler مفوَّض

Visual Studio 2010

يمثل الأسلوب الذي سيقوم بمعالجة Filteringحدث الخاص ObjectDataSourceعنصر التحكم.

مساحة الاسم:  System.Web.UI.WebControls
التجميع:  System.Web (في System.Web.dll)

public delegate void ObjectDataSourceFilteringEventHandler(
	Object sender,
	ObjectDataSourceFilteringEventArgs e
)

المعلمات

sender
النوع: System.Object
مصدر حدث، ObjectDataSource.
e
النوع: System.Web.UI.WebControls.ObjectDataSourceFilteringEventArgs
ObjectDataSourceFilteringEventArgs يحتوي على بيانات حدث.

عندما تقوم بإنشاء ObjectDataSourceFilteringEventHandlerالمفوض، تتعرف على الطريقة التي سيقوم بمعالجة حدث. لربط حدث مع معالج الأحداث الخاص بك، قم بإضافة مثيل تفويض للحدث. يتم استدعاء معالج حدث عند حدوث حدث، إلا إذا قمت بإزالة المفوض. ل المزيد من المعلومات حول التفويضات معالج الأحداث، راجع استهلاك الأحداث.

هذا مقطع يحتوي على الثاني بالتعليمات البرمجية الأمثلة. يمكنك إضافة السمات إضافى إلى عنصر إدخال تقديمه استخدام ObjectDataSourceالأسلوب تشغيل GridViewخاصية. يحصل على مرجع إلى مجموعة الخصائص للعنصر التسمية تقديمه عنصر تحكم.

مجموعة أسماء السمات و قيم التي تم إضافتها إلى العنصر التسمية تقديمه ل ObjectDataSource.GridView ObjectDataSource خاصية DataSetعنصر التحكم هو تقديم و dهوplayed باستخدام عنصر HTML التسمية عنصر.DataTable يمكنك إضافة السمات إضافى إلى العنصر التسمية تقديمه استخدام SelectMethodالأسلوب تشغيل DataSetخاصية.DataTable

The code example consists of a TextBox control, a GridView control, the ObjectDataSource control, and a Submit button. النص البرمجي للكمبيوتر العميل Regهوters لإعادة النشر قبل للتقديم تشغيل العميل في حالة إنشاء TextBoxهو . تعرض GridViewتشغيل العميل.TextBox To retrieve data for another employee, in the TextBox control, type the full name of the employee, and then click the Submit button.

قم بحفظ التغييرات إلى FilterExpressionعرض الالولاية منذ وقت تم نشر الصفحة مرة أخرى إلى الخادم.SelectMethod الكائن الذي يحتوي على التغييرات التي تم إجراؤها FilterParametersالولاية العرض؛ otherwهوe، في الولاية عدم وجود الولاية العرض هو المقترنة مع الكائن، . عرض الولاية هو تجميع قيم لخصائص عنصر تحكم الخادم. يتم وضع هذه قيم تلقائياً في الخصائص لعنصر تحكم الملقم، الذي هو مثيل فئة. The FilterParameters collection contains one parameter, a FormParameter object that is bound to the TextBox control.

If no name is specified in the TextBox control, a new parameter is added to the ParameterValues collection so that the search is successful.


<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    protected void ObjectDataSource1_Filtering(object sender, ObjectDataSourceFilteringEventArgs e)
    {
        if (Textbox1.Text == "")
        {
            e.ParameterValues.Clear();
            e.ParameterValues.Add("FullName", "Nancy Davolio");
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ObjectDataSource - C# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <p>Show all users with the following name.</p>

        <asp:textbox id="Textbox1" runat="server" text="Nancy Davolio" />

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1"
          autogeneratecolumns="False">
          <columns>
            <asp:boundfield headertext="ID" datafield="EmpID" />
            <asp:boundfield headertext="Name" datafield="FullName" />
            <asp:boundfield headertext="Street Address" datafield="Address" />
          </columns>
        </asp:gridview>

        <!-- Security Note: The ObjectDataSource uses a FormParameter,
             Security Note: which does not perform validation of input from the client. -->

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployeesAsDataSet"
          typename="Samples.AspNet.CS.EmployeeLogic"
          filterexpression="FullName='{0}'" OnFiltering="ObjectDataSource1_Filtering">
            <filterparameters>
              <asp:formparameter name="FullName" formfield="Textbox1" defaultvalue="Nancy Davolio" />
            </filterparameters>
        </asp:objectdatasource>

        <p><asp:button id="Button1" runat="server" text="Search" /></p>

    </form>
  </body>
</html>


عندما تقوم بتأليف عنصر تحكم s خادم مخصص، يمكنك تحسين الكفاءة بتجاوز وتعديلها خاصية للملقم الخاص بك عنصر تحكم. إذا كانت الحالةله تم تغييره؛ وإلا. EmployeeLogic وNorthwindEmployee EmployeeLogicيحدد التي تم نشرهاNorthwindEmployeeالولاية. يرفع عند نشر بيانات الخاصة عنصر تحكم قد تغير.EmployeeLogic التشغيلحدث.


namespace Samples.AspNet.CS {

using System;
using System.Collections;
using System.Data;
using System.Web.UI.WebControls;
  //
  // EmployeeLogic is a stateless business object that encapsulates 
  // the operations you can perform on a NorthwindEmployee object.
  //
  public class EmployeeLogic {


    // Returns a collection of NorthwindEmployee objects.
    public static ICollection GetAllEmployees () {
      ArrayList data = new ArrayList();

      data.Add(new NorthwindEmployee(1,"Nancy","Davolio","507 - 20th Ave. E. Apt. 2A"));
      data.Add(new NorthwindEmployee(2,"Andrew","Fuller","908 W. Capital Way"));
      data.Add(new NorthwindEmployee(3,"Janet","Leverling","722 Moss Bay Blvd."));
      data.Add(new NorthwindEmployee(4,"Margaret","Peacock","4110 Old Redmond Rd."));
      data.Add(new NorthwindEmployee(5,"Steven","Buchanan","14 Garrett Hill"));
      data.Add(new NorthwindEmployee(6,"Michael","Suyama","Coventry House Miner Rd."));
      data.Add(new NorthwindEmployee(7,"Robert","King","Edgeham Hollow Winchester Way"));

      return data;
    }

    public static NorthwindEmployee GetEmployee(object anID) {
      ArrayList data = GetAllEmployees() as ArrayList;     
      int empID = Int32.Parse(anID.ToString());      
      return data[empID] as NorthwindEmployee;
    }

    // 
    // To support basic filtering, the employees cannot
    // be returned as an array of objects, rather as a 
    // DataSet of the raw data values. 
    public static DataSet GetAllEmployeesAsDataSet () {
      ICollection employees = GetAllEmployees();

      DataSet ds = new DataSet("Table");

      // Create the schema of the DataTable.
      DataTable dt = new DataTable();
      DataColumn dc;
      dc = new DataColumn("EmpID",   typeof(int));    dt.Columns.Add(dc);
      dc = new DataColumn("FullName",typeof(string)); dt.Columns.Add(dc);
      dc = new DataColumn("Address", typeof(string)); dt.Columns.Add(dc);

      // Add rows to the DataTable.
      DataRow row;

      foreach (NorthwindEmployee ne in employees) {                
        row = dt.NewRow();
        row["EmpID"]    = ne.EmpID;
        row["FullName"] = ne.FullName;
        row["Address"]  = ne.Address;
        dt.Rows.Add(row);
      } 
      // Add the complete DataTable to the DataSet.
      ds.Tables.Add(dt);

      return ds;
    }    
  }

  public class NorthwindEmployee {

    public NorthwindEmployee (int anID, 
                              string aFirstName,
                              string aLastName,
                              string anAddress) {
      ID = anID;
      firstName = aFirstName;
      lastName = aLastName;   
      address = anAddress;
    }

    private object ID;
    public string EmpID {
      get { return ID.ToString();  }
    }

    private string lastName;
    public string LastName {
      get { return lastName; }
      set { lastName = value; }
    }

    private string firstName;
    public string FirstName {
      get { return firstName; }
      set { firstName = value;  }
    }

    public string FullName {
      get { return FirstName  + " " +  LastName; }
    }

    private string address;
    public string Address {
      get { return address; }
      set { address = value;  }
    }    

  }
}


نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0
إظهار: