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.

FormView.ItemCommand الحدث

Visual Studio 2010

يحدث عند النقر فوق زر في عنصر تحكم FormView .

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

public event FormViewCommandEventHandler ItemCommand
<asp:FormView OnItemCommand="FormViewCommandEventHandler" />

ItemCommand تشغيل حدث عندما زر داخل FormViewالنقر فوق عنصر التحكم. يسمح لك هذا إلى توفر أسلوب معالجة حدث الذي يقوم بإجراء روتين cusإلىm عند إجراء هذا حدث.

الأزرار داخل FormViewعنصر تحكم يمكن أيضا استدعاء بعض وظائف مضمنة عنصر التحكم. للقيام بإحدى هذه العمليات، قم بتعيين CommandNameخاصية زر لإحدى قيم في الجدول التالي.

قيمة commandname

الوصف

"الغاء الامر"

إلغاء عملية التحرير أو إدراج وإرجاع FormViewعنصر تحكم إلى الوضع المحدد بواسطة DefaultModeخاصية. يرفع ModeChangedو ModeChangingالأحداث.

"يحذف"

قم بحذف الحالي سجل. يرفع ItemDeletedو ItemDeletingالأحداث.

"تحرير"

يضع FormViewعنصر تحكم في تحرير الالوضع. يرفع ModeChangedو ModeChangingالأحداث.

"إدراج"

قم بإدراج الحالي سجل في مصدر بيانات. يرفع ItemInsertedو ItemInsertingالأحداث.

"جديد"

يضع FormViewعنصر تحكم في إدراج الوضع. يرفع ModeChangedو ModeChangingالأحداث.

"الصفحة"

يقوم ترحيل تشغيل. بتعيين CommandArgumentخاصية زر على "أول '' أو"السابق"،"التالي"،"السابق"أو رقم صفحة لتعيين نوع عملية الترحيل لتنفيذ. يرفع PageIndexChangedو PageIndexChangingالأحداث.

"تحديث"

قم بتحديث الحالي سجل في مصدر بيانات. يرفع ItemUpdatedو ItemUpdatingالأحداث.

على الرغم من أن ItemCommandتشغيل حدث عند زر في السابق يتم النقر فوق جدول، فمن المستحسن أن تستخدم الأحداث المسرودة في الجدول للعملية.

A FormViewCommandEventArgs كائن هو passed إلى the حدث-handling أسلوب, which allows you إلى determine the الأمر اسم و الأمر وسيطة of the زر clicked. إلى تحديد اسم الأمر ووسيطة الأمر، استخدم CommandNameو CommandArgumentالخصائص، على التوالي. يمكنك أيضا الوصول إلى عنصر التحكم الذي مرفوع حدث باستخدام CommandSourceخاصية.

للحصول على مزيد من المعلومات حول معالجة الأحداث، راجع استهلاك الأحداث.

يوضح المثال التالي كيفية استخدام ItemCommandحدث لمعالجة نقرة زر في FormViewعنصر تحكم. عندما يقوم مستخدم بالنقر فوق الزر "تمت الإضافة"، حاليا العنصر dهوplayed هو تمت الإضافة إلى ListBoxعنصر التحكم.



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

  void ProductFormView_ItemCommand(Object sender, FormViewCommandEventArgs e)
  {

    // The ItemCommand event is raised when any button within
    // the FormView control is clicked. Use the CommandName property 
    // to determine which button was clicked. 
    if (e.CommandName == "Add")
    {

      // Add the product to the ListBox control. 

      // Use the Row property to retrieve the data row.
      FormViewRow row = ProductFormView.Row;

      // Retrieve the ProductNameLabel control from
      // the data row.
      Label productNameLabel = (Label)row.FindControl("ProductNameLabel");

      // Retrieve the QuantityTextBox control from
      // the data row.
      TextBox quantityTextBox = (TextBox)row.FindControl("QuantityTextBox");

      if (productNameLabel != null && quantityTextBox != null)
      {    
        // Get the product name from the ProductNameLabel control.
        string name = productNameLabel.Text;

        // Get the quantity from the QuantityTextBox control.
        string quantity = quantityTextBox.Text;

        // Create the text to display in the ListBox control.
        string description = name + " - " + quantity + " Qty";

        // Create a ListItem object using the description and
        // product name.
        ListItem item = new ListItem(description, name);

        // Add the ListItem object to the ListBox.
        ProductListBox.Items.Add(item);

        // Use the CommandSource property to retrieve
        // the Add button. Disable the button after
        // the user adds the currently displayed employee
        // name to the ListBox control.
        Button addButton = (Button)e.CommandSource;
        addButton.Enabled = false;
      }

    }

  }

  void ProductFormView_DataBound(Object sender, EventArgs e)
  {

    // To prevent the user from adding duplicate items, 
    // disable the Add button if the item being bound to the 
    // FormView control is already in the ListBox control.

    // Use the Row property to retrieve the data row.
    FormViewRow row = ProductFormView.Row;

    // Retrieve the Add button from the data row.
    Button addButton = (Button)row.FindControl("AddButton");

    // Retrieve the ProductNameLabel control from
    // data row.
    Label productNameLabel = (Label)row.FindControl("ProductNameLabel");

    if (addButton != null && productNameLabel != null)
    {
      // Get the product name from the ProductNameLabel 
      // control.
      string name = productNameLabel.Text;

      // Use the FindByValue method to determine whether
      // the ListBox control already contains an entry for
      // the item.
      ListItem item = ProductListBox.Items.FindByValue(name);

      // Disable the Add button if the ListBox control
      // already contains the item.
      if (item != null)
      {
        addButton.Enabled = false;
      }
      else
      {
        addButton.Enabled = true;
      }
    }

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>FormViewCommandEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>FormViewCommandEventArgs Example</h3>

      <asp:formview id="ProductFormView"
        datasourceid="ProductSource"
        allowpaging="true"
        datakeynames="ProductID"
        onitemcommand="ProductFormView_ItemCommand"
        ondatabound="ProductFormView_DataBound"  
        runat="server">

        <itemtemplate>

          <table>
            <tr>
              <td style="width:400px">
                <b>Description:</b>
                <asp:label id="ProductNameLabel"
                  text='<%# Eval("ProductName") %>'
                  runat='server'/>
                <br/>      
                <b>Price:</b>
                <asp:label id="PriceLabel"
                  text='<%# Eval("UnitPrice", "{0:c}") %>'
                  runat='server'/>
                <br/>  
                <asp:textbox id="QuantityTextBox"
                  width="50px"
                  maxlength="3" 
                  runat="server"/> Qty                   
              </td>
            </tr>
            <tr>
              <td>
                <asp:requiredfieldvalidator ID="QuantityRequiredValidator"
                  controltovalidate="QuantityTextBox"
                  text="Please enter a quantity."
                  display="Static"
                  runat="server"/>
                <br/>
                <asp:CompareValidator id="QuantityCompareValidator"
                  controltovalidate="QuantityTextBox"
                  text="Please enter an integer value."
                  display="Static"
                  type="Integer"
                  operator="DataTypeCheck"  
                  runat="server"/>    
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <asp:button id="AddButton"
                  text="Add"
                  commandname="Add"
                  runat="server"/>
              </td>
            </tr>
          </table>

        </itemtemplate>

      </asp:formview>

      <br/><br/><hr/>

      Items:<br/>
      <asp:listbox id="ProductListBox"
        runat="server"/>

      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the Northwind sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the Web.config file.                            -->
      <asp:sqldatasource id="ProductSource"
        selectcommand="Select [ProductID], [ProductName], [UnitPrice] From [Products]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>

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



نظام التشغيل 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
إظهار: