FormViewDeleteEventArgs.Keys FormViewDeleteEventArgs.Keys FormViewDeleteEventArgs.Keys FormViewDeleteEventArgs.Keys Property

Определение

Возвращает упорядоченный словарь, содержащий пары "имя/значение" для ключевых полей удаляемой записи.Gets an ordered dictionary of key field name/value pairs for the record to delete.

public:
 property System::Collections::Specialized::IOrderedDictionary ^ Keys { System::Collections::Specialized::IOrderedDictionary ^ get(); };
public System.Collections.Specialized.IOrderedDictionary Keys { get; }
member this.Keys : System.Collections.Specialized.IOrderedDictionary
Public ReadOnly Property Keys As IOrderedDictionary

Значение свойства

OrderedDictionary, содержащий пары "имя ключевого поля-значение" для удаляемой записи.An OrderedDictionary that contains the key field name/value pairs for the record to delete.

Примеры

В следующем примере показано, как использовать Keys свойство для доступа к значению ключевого поля удаляемой записи.The following example demonstrates how to use the Keys property to access the value of the key field for the record being deleted.


<%@ 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 EmployeeFormView_ItemDeleting(Object sender, FormViewDeleteEventArgs e)
  {
    // Get the employee ID, name, and job title from the Keys and Values
    // properties.
    String keyValue = e.Keys["EmployeeID"].ToString();
    String employeeName = e.Values["FirstName"].ToString() +
      " " + e.Values["LastName"].ToString();
    String title = e.Values["Title"].ToString();

    // Cancel the delete operation if the user attempts to 
    // delete a protected record. In this example, records for
    // employees with a "Sales Manager" job title are protected.
    if (title.Equals("Sales Manager"))
    {
      e.Cancel = true;
      MessageLabel.Text = "You cannot delete record " +
        e.RowIndex.ToString() + ". " + employeeName +
        " (Employee Number " + keyValue.ToString() +
        ") is protected.";
    }

  }
   
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>FormViewDeleteEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>FormViewDeleteEventArgs Example</h3>
                       
      <asp:formview id="EmployeeFormView"
        datasourceid="EmployeeSource"
        allowpaging="true"
        datakeynames="EmployeeID"
        onitemdeleting="EmployeeFormView_ItemDeleting"  
        runat="server">
        
        <itemtemplate>
        
          <table>
            <tr>
              <td>
                <asp:image id="EmployeeImage"
                  imageurl='<%# Eval("PhotoPath") %>'
                  alternatetext='<%# Eval("LastName") %>' 
                  runat="server"/>
              </td>
              <td>
                <asp:label id="FirstNameLabel"
                  text='<%#Bind("FirstName")%>'
                  font-bold="true"
                  runat="server"/>
                <asp:label id="LastNameLabel"
                  text='<%#Bind("LastName")%>'
                  font-bold="true"
                  runat="server"/>
                <br/>     
                <asp:label id="TitleLabel"
                  text='<%#Bind("Title")%>'
                  runat="server"/>        
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <asp:button id="DeleteButton"
                  text="Delete Record"
                  commandname="Delete"
                  runat="server" />
              </td>
            </tr>
          </table>
        
        </itemtemplate>         
                  
      </asp:formview>
      
      <asp:label id="MessageLabel"
        forecolor="Red"
        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="EmployeeSource"
        selectcommand="Select [EmployeeID], [LastName], [FirstName], [Title], [PhotoPath] From [Employees]"
        deletecommand="Delete [Employees] Where [EmployeeID]=@EmployeeID"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>
            
    </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">
<script runat="server">

  Sub EmployeeFormView_ItemDeleting(ByVal sender As Object, ByVal e As FormViewDeleteEventArgs)
  
    ' Get the employee ID, name, and job title from the Keys and Values
    ' properties.
    Dim keyValue As String = e.Keys("EmployeeID").ToString()
    Dim employeeName As String = e.Values("FirstName").ToString() & _
      " " & e.Values("LastName").ToString()
    Dim title As String = e.Values("Title").ToString()

    ' Cancel the delete operation if the user attempts to 
    ' delete a protected record. In this example, records for
    ' employees with a "Sales Manager" job title are protected.
    If Title.Equals("Sales Manager") Then
    
      e.Cancel = True
      MessageLabel.Text = "You cannot delete record " & _
        e.RowIndex.ToString() & ". " & employeeName & _
        " (Employee Number " & keyValue.ToString() & _
        ") is protected."
    
    End If

  End Sub
   
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>FormViewDeleteEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>FormViewDeleteEventArgs Example</h3>
                       
      <asp:formview id="EmployeeFormView"
        datasourceid="EmployeeSource"
        allowpaging="true"
        datakeynames="EmployeeID"
        onitemdeleting="EmployeeFormView_ItemDeleting"  
        runat="server">
        
        <itemtemplate>
        
          <table>
            <tr>
              <td>
                <asp:image id="EmployeeImage"
                  imageurl='<%# Eval("PhotoPath") %>'
                  alternatetext='<%# Eval("LastName") %>' 
                  runat="server"/>
              </td>
              <td>
                <asp:label id="FirstNameLabel"
                  text='<%#Bind("FirstName")%>'
                  font-bold="true"
                  runat="server"/>
                <asp:label id="LastNameLabel"
                  text='<%#Bind("LastName")%>'
                  font-bold="true"
                  runat="server"/>
                <br/>     
                <asp:label id="TitleLabel"
                  text='<%#Bind("Title")%>'
                  runat="server"/>        
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <asp:button id="DeleteButton"
                  text="Delete Record"
                  commandname="Delete"
                  runat="server" />
              </td>
            </tr>
          </table>
        
        </itemtemplate>         
                  
      </asp:formview>
      
      <asp:label id="MessageLabel"
        forecolor="Red"
        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="EmployeeSource"
        selectcommand="Select [EmployeeID], [LastName], [FirstName], [Title], [PhotoPath] From [Employees]"
        deletecommand="Delete [Employees] Where [EmployeeID]=@EmployeeID"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>
            
    </form>
  </body>
</html>

Комментарии

Свойство содержит значения ключевых полей, перечисленных DataKeyNames в свойстве FormView элемента управления. KeysThe Keys property contains the values of the key fields listed in the DataKeyNames property of a FormView control. Keys Используйте свойство для доступа к значениям ключевого поля или полей удаляемой записи.Use the Keys property to access the values of the key field or fields for the record to be deleted. Например, эти значения можно использовать для проверки записи перед ее удалением, для изменения записи, которая будет удалена, или для сохранения журнала удаленных записей.For example, you can use these values to verify the record before deleting it, to change the record to delete, or to keep a log of deleted records.

Примечание

Это свойство содержит только ключевые поля.This property contains only the key fields. Чтобы получить доступ к значениям пар имя-значение для неключевых полей, используйте Values свойство.To access the name/value pair values for the non-key fields, use the Values property.

Свойство возвращает объект, реализующий System.Collections.Specialized.IOrderedDictionaryинтерфейс. Keys OrderedDictionaryThe Keys property returns an OrderedDictionary object that implements the System.Collections.Specialized.IOrderedDictionary interface. OrderedDictionary Объект содержитSystem.Collections.DictionaryEntry объекты, представляющие ключевые поля.The OrderedDictionary object contains System.Collections.DictionaryEntry objects that represent the key fields. Чтобы получить доступ к именам ключевых полей, Keys используйте свойство OrderedDictionary объекта.To access the key field names, use the Keys property of the OrderedDictionary object. Аналогичным образом можно получить доступ к значениям ключевого поля Values с помощью свойства.Similarly, you can access the key field values by using the Values property.

Примечание

Для доступа к значениям ключевого поля можно также использовать индексатор OrderedDictionary объекта в качестве ярлыка.As a shortcut, you can also use the indexer of the OrderedDictionary object to access the key field values. Преимущество использования индексатора заключается в том, что он возвращает значения ключевых полей напрямую.The advantage in using the indexer is that it returns key field values directly. Элементы управления источниками данных, зависящие от порядка полей ( AccessDataSourceнапример,), могут получать доступ к значениям полей ключей только по индексу.Data source controls that rely on the field order (such as AccessDataSource) can access key field values only by index.

Свойства Keys OrderedDictionary и Values доступны только для чтения, однако можно изменить значения полей объекта.The Keys and Values properties are read-only; however, you can modify the field values of the OrderedDictionary object. Если изменить ключевые и неключевые значения полей, соответствующая запись будет удалена из источника данных.If you change the key and non-key field values, the corresponding record will be deleted from the data source.

Применяется к

Дополнительно