DataGridCommandEventArgs.CommandSource-Eigenschaft
Ruft die Quelle des Befehls ab.
Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)
Syntax
'Declaration
Public ReadOnly Property CommandSource As Object
'Usage
Dim instance As DataGridCommandEventArgs
Dim value As Object
value = instance.CommandSource
public Object CommandSource { get; }
public:
property Object^ CommandSource {
Object^ get ();
}
/** @property */
public Object get_CommandSource ()
public function get CommandSource () : Object
Eigenschaftenwert
Die Quelle des Befehls.
Hinweise
Verwenden Sie die CommandSource-Eigenschaft, um die Befehlsquelle zu ermitteln, die das Ereignis ausgelöst hat. Diese Eigenschaft wird i. A. zum Bestimmen des Befehls verwendet, mit dem das Ereignis ausgelöst wurde.
Beispiel
Im folgenden Codebeispiel wird veranschaulicht, wie mit der CommandSource-Eigenschaft die Quelle eines Befehls ermittelt werden kann.
<%@ page language="VB" %>
<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.SqlClient" %>
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' Call the BindGrid helper method to bind the
' DataGrid control to the data source the first
' time the page is loaded.
If Not IsPostBack Then
BindGrid()
End If
End Sub
Sub BindGrid()
' Declare the connection string and query string.
' This example uses Microsoft SQL Server and connects
' to the Northwind sample database.
Dim connectionString As String = "server=localhost;database=NorthWind;Integrated Security=SSPI"
Dim queryString As String = "Select [FirstName],[LastName],[Title] From [Employees]"
' Run the query and display the results.
Dim ds As DataSet = RunQuery(connectionString, queryString)
If ds IsNot Nothing Then
ItemsGrid.DataSource = ds
ItemsGrid.DataBind()
Message.Text = ""
Else
Message.Text = "No records found."
End If
End Sub
Function RunQuery(ByVal connectionString As String, ByVal queryString As String) As DataSet
Dim connection As New SqlConnection(connectionString)
Dim adapter As SqlDataAdapter
Dim ds As DataSet
Try
' Run the query and create the DataSet object.
ds = New DataSet()
adapter = New SqlDataAdapter(queryString, connection)
adapter.Fill(ds)
Catch ex As Exception
' Display an error message.
Message.Text = "Unable to query data source."
ds = Nothing
Finally
Connection.Close()
End Try
Return ds
End Function
Sub ItemsGrid_ItemCommand(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
' Use the CommandSource property to retrieve the LinkButton
' control that raised the event.
Dim selectButton As LinkButton = CType(e.CommandSource, LinkButton)
' Display the desciption for the job title.
Message.Text = selectButton.Text & " - "
Select Case (selectButton.Text)
Case "Sales Representative"
Message.Text &= "Sells products to customers."
Case "Vice President, Sales"
Message.Text &= "Manages the sales division."
Case "Sales Manager"
Message.Text &= "Manages a sales team."
Case "Inside Sales Coordinator"
Message.Text &= "Coordinates cross team communications."
Case Else
Message.Text &= "To be determined."
End Select
End Sub
</script>
<html>
<body>
<form runat="server">
<h3>DataGridCommandEventArgs CommandSource Example</h3>
<asp:datagrid
id="ItemsGrid"
autogeneratecolumns="false"
onitemcommand="ItemsGrid_ItemCommand"
runat="server">
<columns>
<asp:BoundColumn DataField="FirstName"
headertext="First Name"/>
<asp:BoundColumn DataField="LastName"
headertext="Last Name"/>
<asp:buttoncolumn buttontype="LinkButton"
datatextfield="Title"
headertext="Title"/>
</columns>
</asp:datagrid>
<br/><br/>
<asp:label id="Message"
runat="server"/>
</form>
</body>
</html>
<%@ page language="C#" %>
<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.SqlClient" %>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
// Call the BindGrid helper method to bind the
// DataGrid control to the data source the first
// time the page is loaded.
if(!IsPostBack)
{
BindGrid();
}
}
void BindGrid()
{
// Declare the connection string and query string.
// This example uses Microsoft SQL Server and connects
// to the Northwind sample database.
String connectionString = "server=localhost;database=NorthWind;Integrated Security=SSPI";
String queryString = "Select [FirstName],[LastName],[Title] From [Employees]";
// Run the query and display the results.
DataSet ds = RunQuery(connectionString, queryString);
if(ds != null)
{
ItemsGrid.DataSource = ds;
ItemsGrid.DataBind();
Message.Text = "";
}
else
{
Message.Text = "No records found.";
}
}
DataSet RunQuery(String connectionString, String queryString)
{
SqlConnection connection = new SqlConnection(connectionString);
SqlDataAdapter adapter;
DataSet ds;
try
{
// Run the query and create the DataSet object.
ds = new DataSet();
adapter = new SqlDataAdapter(queryString, connection);
adapter.Fill(ds);
}
catch(Exception ex)
{
// Display an error message.
Message.Text = "Unable to query data source.";
ds = null;
}
finally
{
connection.Close();
}
return ds;
}
void ItemsGrid_ItemCommand(Object sender, DataGridCommandEventArgs e)
{
// Use the CommandSource property to retrieve the LinkButton
// control that raised the event.
LinkButton selectButton = (LinkButton)e.CommandSource;
// Display the desciption for the job title.
Message.Text = selectButton.Text + " - ";
switch (selectButton.Text)
{
case "Sales Representative":
Message.Text += "Sells products to customers.";
break;
case "Vice President, Sales":
Message.Text += "Manages the sales division.";
break;
case "Sales Manager":
Message.Text += "Manages a sales team.";
break;
case "Inside Sales Coordinator":
Message.Text += "Coordinates cross team communications.";
break;
default:
Message.Text += "To be determined.";
break;
}
}
</script>
<html>
<body>
<form runat="server">
<h3>DataGridCommandEventArgs CommandSource Example</h3>
<asp:datagrid
id="ItemsGrid"
autogeneratecolumns="false"
onitemcommand="ItemsGrid_ItemCommand"
runat="server">
<columns>
<asp:BoundColumn DataField="FirstName"
headertext="First Name"/>
<asp:BoundColumn DataField="LastName"
headertext="Last Name"/>
<asp:buttoncolumn buttontype="LinkButton"
datatextfield="Title"
headertext="Title"/>
</columns>
</asp:datagrid>
<br/><br/>
<asp:label id="Message"
runat="server"/>
</form>
</body>
</html>
Plattformen
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
DataGridCommandEventArgs-Klasse
DataGridCommandEventArgs-Member
System.Web.UI.WebControls-Namespace
DataGrid-Klasse