DetailsViewCommandEventArgs Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje data pro událost ItemCommand.
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
- Dědičnost
Příklady
Následující příklad kódu ukazuje, jak použít DetailsViewCommandEventArgs objekt předaný obslužné rutině události pro ItemCommand událost k určení názvu příkazu tlačítka, na které uživatel kliknul. V tomto příkladu se používá model kódování s jedním souborem.
<%@ 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>
Následující příklad kódu ukazuje verzi modelu kódování na pozadí předchozího příkladu. Aby tento příklad fungoval, musíte níže uvedený kód zkopírovat do přidruženého souboru kódu na pozadí.
<%@ 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>
Následující příklad kódu ukazuje soubor kódu na pozadí pro předchozí příklad.
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
Poznámky
Ovládací DetailsView prvek vyvolá ItemCommand událost, když kliknete na tlačítko v ButtonFieldpoli řádku , CommandFieldnebo TemplateField . To vám umožní poskytnout obslužnou rutinu události, která provádí vlastní rutinu při každém výskytu této události.
Poznámka
Ovládací DetailsView prvek také vyvolá další specializované události při kliknutí na určitá tlačítka (tlačítka s vlastností nastavenou CommandName
na "Delete", "Insert", "Page" nebo "Update"). Při použití některého z těchto tlačítek byste měli zvážit použití některé ze specializovaných událostí poskytovaných ovládacím prvku (například ItemDeleted nebo ItemDeleting).
Objekt DetailsViewCommandEventArgs je předán obslužné rutině události. Pokud má tlačítko, které vyvolalo událost, název příkazu nebo hodnotu argumentu příkazu, můžete tyto hodnoty určit pomocí objektu DetailsViewCommandEventArgs . Pokud chcete určit název příkazu a argument příkazu klikaného tlačítka, použijte CommandName vlastnosti a CommandArgument . Pomocí vlastnosti můžete také získat přístup k ovládacímu DetailsView prvku, který událost CommandSource vyvolal.
Seznam počátečních hodnot vlastností pro instanci DetailsViewCommandEventArgs třídy naleznete v konstruktoru DetailsViewCommandEventArgs .
Konstruktory
DetailsViewCommandEventArgs(Object, CommandEventArgs) |
Inicializuje novou instanci DetailsViewCommandEventArgs třídy. |
Vlastnosti
CommandArgument |
Získá argument pro příkaz. (Zděděno od CommandEventArgs) |
CommandName |
Získá název příkazu. (Zděděno od CommandEventArgs) |
CommandSource |
Získá zdroj příkazu. |
Handled |
Získá nebo nastaví hodnotu, která označuje, zda ovládací prvek zpracoval událost. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |