DetailsViewCommandEventArgs Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Innehåller data för ItemCommand händelsen.
public ref class DetailsViewCommandEventArgs : System::Web::UI::WebControls::CommandEventArgs
public class DetailsViewCommandEventArgs : System.Web.UI.WebControls.CommandEventArgs
type DetailsViewCommandEventArgs = class
inherit CommandEventArgs
Public Class DetailsViewCommandEventArgs
Inherits CommandEventArgs
- Arv
Exempel
I följande kodexempel visas hur du använder objektet DetailsViewCommandEventArgs som skickas till händelsehanteraren för händelsen för ItemCommand att fastställa kommandonamnet för knappen som användaren klickar på. I det här exemplet används kodningsmodellen med en fil.
<%@ 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 ItemDetailsView_ItemCommand(Object sender,
DetailsViewCommandEventArgs e)
{
// Use the CommandName property to determine which button
// was clicked.
if (e.CommandName == "Add")
{
// Add the customer to the customer list.
// Get the row that contains the company name. In this
// example, the company name is in the second row (index 1)
// of the DetailsView control.
DetailsViewRow row = ItemDetailsView.Rows[1];
// Get the company's name from the appropriate cell.
// In this example, the company name is in the second cell
// (index 1) of the row.
String name = row.Cells[1].Text;
// Create a ListItem object with the company name.
ListItem item = new ListItem(name);
// Add the ListItem object to the ListBox control, if the
// item does not already exist.
if (!CustomerListBox.Items.Contains(item))
{
CustomerListBox.Items.Add(item);
}
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewCommandEventArgs Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewCommandEventArgs Example</h3>
<asp:detailsview id="ItemDetailsView"
datasourceid="DetailsViewSource"
allowpaging="true"
autogeneraterows="false"
onitemcommand="ItemDetailsView_ItemCommand"
runat="server">
<fields>
<asp:boundfield datafield="CustomerID"
headertext="Customer ID"/>
<asp:boundfield datafield="CompanyName"
headertext="Company Name"/>
<asp:boundfield datafield="Address"
headertext="Address"/>
<asp:boundfield datafield="City"
headertext="City"/>
<asp:boundfield datafield="PostalCode"
headertext="ZIP Code"/>
<asp:boundfield datafield="Country"
headertext="Country"/>
<asp:buttonfield buttontype="Link"
causesvalidation="false"
text="Add to List"
commandname="Add"/>
</fields>
</asp:detailsview>
<br/><br/>
Selected Customers:<br/>
<asp:listbox id="CustomerListBox"
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="DetailsViewSource"
selectcommand="Select [CustomerID], [CompanyName], [Address],
[City], [PostalCode], [Country] From [Customers]"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
<%@ page language="VB" autoeventwireup="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub ItemDetailsView_ItemCommand(ByVal sender As Object, _
ByVal e As DetailsViewCommandEventArgs) _
Handles ItemDetailsView.ItemCommand
' Use the CommandName property to determine which button
' was clicked.
If e.CommandName = "Add" Then
' Add the customer to the customer list.
' Get the row that contains the company name. In this
' example, the company name is in the second row (index 1)
' of the DetailsView control.
Dim row As DetailsViewRow = ItemDetailsView.Rows(1)
' Get the company's name from the appropriate cell.
' In this example, the company name is in the second cell
' (index 1) of the row.
Dim name As String = row.Cells(1).Text
' Create a ListItem object with the company name.
Dim item As New ListItem(name)
' Add the ListItem object to the ListBox control, if the
' item does not already exist.
If Not CustomerListBox.Items.Contains(item) Then
CustomerListBox.Items.Add(item)
End If
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewCommandEventArgs Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewCommandEventArgs Example</h3>
<asp:detailsview id="ItemDetailsView"
datasourceid="DetailsViewSource"
allowpaging="true"
autogeneraterows="false"
runat="server">
<fields>
<asp:boundfield datafield="CustomerID"
headertext="Customer ID"/>
<asp:boundfield datafield="CompanyName"
headertext="Company Name"/>
<asp:boundfield datafield="Address"
headertext="Address"/>
<asp:boundfield datafield="City"
headertext="City"/>
<asp:boundfield datafield="PostalCode"
headertext="ZIP Code"/>
<asp:boundfield datafield="Country"
headertext="Country"/>
<asp:buttonfield buttontype="Link"
causesvalidation="false"
text="Add to List"
commandname="Add"/>
</fields>
</asp:detailsview>
<br/><br/>
Selected Customers:<br/>
<asp:listbox id="CustomerListBox"
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="DetailsViewSource"
selectcommand="Select [CustomerID], [CompanyName], [Address],
[City], [PostalCode], [Country] From [Customers]"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
I följande kodexempel visas en kod bakom kodningsmodellversion av föregående exempel. För att det här exemplet ska fungera måste du kopiera koden nedan till den associerade filen bakom koden.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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>DetailsViewCommandEventArgs Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>DetailsViewCommandEventArgs Example</h3>
<asp:detailsview id="ItemDetailsView"
datasourceid="DetailsViewSource"
allowpaging="true"
autogeneraterows="false"
onitemcommand="ItemDetailsView_ItemCommand"
runat="server">
<fields>
<asp:boundfield datafield="CustomerID"
headertext="Customer ID"/>
<asp:boundfield datafield="CompanyName"
headertext="Company Name"/>
<asp:boundfield datafield="Address"
headertext="Address"/>
<asp:boundfield datafield="City"
headertext="City"/>
<asp:boundfield datafield="PostalCode"
headertext="ZIP Code"/>
<asp:boundfield datafield="Country"
headertext="Country"/>
<asp:buttonfield buttontype="Link"
causesvalidation="false"
text="Add to List"
commandname="Add"/>
</fields>
</asp:detailsview>
<br/><br/>
Selected Customers:<br/>
<asp:listbox id="CustomerListBox"
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="DetailsViewSource"
selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="DefaultVB.aspx.vb" Inherits="DefaultVB" %>
<!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>DetailsViewCommandEventArgs Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>DetailsViewCommandEventArgs Example</h3>
<asp:detailsview id="ItemDetailsView"
datasourceid="DetailsViewSource"
allowpaging="true"
autogeneraterows="false"
onitemcommand="ItemDetailsView_ItemCommand"
runat="server">
<fields>
<asp:boundfield datafield="CustomerID"
headertext="Customer ID"/>
<asp:boundfield datafield="CompanyName"
headertext="Company Name"/>
<asp:boundfield datafield="Address"
headertext="Address"/>
<asp:boundfield datafield="City"
headertext="City"/>
<asp:boundfield datafield="PostalCode"
headertext="ZIP Code"/>
<asp:boundfield datafield="Country"
headertext="Country"/>
<asp:buttonfield buttontype="Link"
causesvalidation="false"
text="Add to List"
commandname="Add"/>
</fields>
</asp:detailsview>
<br/><br/>
Selected Customers:<br/>
<asp:listbox id="CustomerListBox"
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="DetailsViewSource"
selectcommand="Select [CustomerID], [CompanyName], [Address],
[City], [PostalCode], [Country] From [Customers]"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
I följande kodexempel visas filen bakom koden för föregående exempel.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
public void ItemDetailsView_ItemCommand(Object sender, DetailsViewCommandEventArgs e)
{
// Use the CommandName property to determine which button
// was clicked.
if (e.CommandName == "Add")
{
// Add the customer to the customer list.
// Get the row that contains the company name. In this
// example, the company name is in the second row (index 1)
// of the DetailsView control.
DetailsViewRow row = ItemDetailsView.Rows[1];
// Get the company's name from the appropriate cell.
// In this example, the company name is in the second cell
// (index 1) of the row.
String name = row.Cells[1].Text;
// Create a ListItem object with the company name.
ListItem item = new ListItem(name);
// Add the ListItem object to the ListBox control, if the
// item does not already exist.
if (!CustomerListBox.Items.Contains(item))
{
CustomerListBox.Items.Add(item);
}
}
}
}
Partial Class DefaultVB
Inherits System.Web.UI.Page
Public Sub ItemDetailsView_ItemCommand(ByVal sender As Object, ByVal e As DetailsViewCommandEventArgs)
' Use the CommandName property to determine which button
' was clicked.
If e.CommandName = "Add" Then
' Add the customer to the customer list.
' Get the row that contains the company name. In this
' example, the company name is in the second row (index 1)
' of the DetailsView control.
Dim row As DetailsViewRow = ItemDetailsView.Rows(1)
' Get the company's name from the appropriate cell.
' In this example, the company name is in the second cell
' (index 1) of the row.
Dim name As String = row.Cells(1).Text
' Create a ListItem object with the company name.
Dim item As ListItem = New ListItem(name)
' Add the ListItem object to the ListBox control, if the
' item does not already exist.
If Not CustomerListBox.Items.Contains(item) Then
CustomerListBox.Items.Add(item)
End If
End If
End Sub
End Class
Kommentarer
Kontrollen DetailsView genererar ItemCommand händelsen när en knapp i ett ButtonFieldfält , CommandFieldeller TemplateField radfält klickas. På så sätt kan du ange en händelsehanterare som utför en anpassad rutin när den här händelsen inträffar.
Note
Kontrollen DetailsView genererar även andra specialiserade händelser när vissa knappar klickas (knappar med CommandName egenskapen inställd på "Ta bort", "Infoga", "Sida" eller "Uppdatera"). När du använder någon av dessa knappar bör du överväga att använda någon av de särskilda händelser som tillhandahålls av kontrollen (till exempel ItemDeleted eller ItemDeleting).
Ett DetailsViewCommandEventArgs objekt skickas till händelsehanteraren. Om knappen som aktiverade händelsen har ett kommandonamn eller kommandoargumentvärde kan du använda DetailsViewCommandEventArgs -objektet för att fastställa dessa värden. Om du vill fastställa kommandonamnet och kommandoargumentet för knappen som klickats använder CommandNameCommandArgument du respektive egenskaper. Du kan också komma åt kontrollen DetailsView som aktiverade händelsen med hjälp CommandSource av egenskapen .
En lista över initiala egenskapsvärden för en instans av DetailsViewCommandEventArgs klassen finns i DetailsViewCommandEventArgs konstruktorn.
Konstruktorer
| Name | Description |
|---|---|
| DetailsViewCommandEventArgs(Object, CommandEventArgs) |
Initierar en ny instans av DetailsViewCommandEventArgs klassen. |
Egenskaper
| Name | Description |
|---|---|
| CommandArgument |
Hämtar argumentet för kommandot. (Ärvd från CommandEventArgs) |
| CommandName |
Hämtar namnet på kommandot. (Ärvd från CommandEventArgs) |
| CommandSource |
Hämtar kommandots källa. |
| Handled |
Hämtar eller anger ett värde som anger om kontrollen har hanterat händelsen. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |