DetailsViewCommandEventArgs 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为 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
- 继承
示例
下面的代码示例演示如何使用 DetailsViewCommandEventArgs 传递给 事件的事件处理程序 ItemCommand 的对象来确定用户单击的按钮的命令名称。 此示例使用单文件编码模型。
<%@ 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>
下面的代码示例演示上一个示例的代码隐藏编码模型版本。 若要使此示例正常工作,必须将以下代码复制到关联的代码隐藏文件中。
<%@ 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>
下面的代码示例显示了上一个示例的代码隐藏文件。
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
注解
控件DetailsView在ItemCommand单击 、 CommandField或 TemplateField 行字段中的ButtonField按钮时引发 事件。 这允许你提供一个事件处理程序,该处理程序在发生此事件时执行自定义例程。
注意
当将属性设置为“Delete”、“Insert”、“Page”或“Update”的按钮 (单击某些按钮CommandName
时,控件DetailsView也会引发其他专用事件) 。 使用其中一个按钮时,应考虑使用控件 (提供的专用事件之一,例如 ItemDeleted 或 ItemDeleting) 。
对象 DetailsViewCommandEventArgs 将传递给事件处理程序。 如果引发事件的按钮具有命令名称或命令参数值,则可以使用 DetailsViewCommandEventArgs 对象来确定这些值。 若要确定所单击按钮的命令名称和命令参数,请分别使用 CommandName 和 CommandArgument 属性。 还可以使用 CommandSource 属性访问DetailsView引发 事件的控件。
有关 DetailsViewCommandEventArgs 类的实例的初始属性值列表,请参见 DetailsViewCommandEventArgs 构造函数。
构造函数
DetailsViewCommandEventArgs(Object, CommandEventArgs) |
初始化 DetailsViewCommandEventArgs 类的新实例。 |
属性
CommandArgument |
获取命令的参数。 (继承自 CommandEventArgs) |
CommandName |
获取命令的名称。 (继承自 CommandEventArgs) |
CommandSource |
获取命令源。 |
Handled |
获取或设置指示控件是否已处理事件的值。 |
方法
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |