ListViewInsertEventArgs 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 ItemInserting händelsen.
public ref class ListViewInsertEventArgs : System::ComponentModel::CancelEventArgs
public class ListViewInsertEventArgs : System.ComponentModel.CancelEventArgs
type ListViewInsertEventArgs = class
inherit CancelEventArgs
Public Class ListViewInsertEventArgs
Inherits CancelEventArgs
- Arv
Exempel
I följande exempel visas hur du använder ListViewInsertEventArgs objektet för att avbryta en infogningsåtgärd om dataobjektet innehåller ett tomt värde.
Important
Det här exemplet innehåller en textruta som accepterar användarindata, vilket är ett potentiellt säkerhetshot. Som standard kontrollerar ASP.NET webbsidor att användarindata inte innehåller skript- eller HTML-element. Mer information finns i Översikt över skriptexploateringar.
<%@ 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 Page_Load()
{
Message.Text = String.Empty;
}
//<Snippet2>
void ContactsListView_ItemInserting(Object sender, ListViewInsertEventArgs e)
{
// Iterate through the values to verify if they are not empty.
foreach (DictionaryEntry de in e.Values)
{
if (de.Value == null)
{
Message.Text = "Cannot insert an empty value.";
e.Cancel = true;
}
}
}
//</Snippet2>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView.ItemInserting Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView.ItemInserting Example</h3>
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<br/>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
DataKeyNames="ContactID"
OnItemInserting="ContactsListView_ItemInserting"
InsertItemPosition="LastItem"
runat="server">
<LayoutTemplate>
<table cellpadding="2" border="1" runat="server" id="tblProducts" width="640px">
<tr runat="server" id="itemPlaceholder" />
</table>
<asp:DataPager runat="server" ID="PeopleDataPager" PageSize="12">
<Fields>
<asp:NextPreviousPagerField
ShowFirstPageButton="true" ShowLastPageButton="true"
FirstPageText="|<< " LastPageText=" >>|"
NextPageText=" > " PreviousPageText=" < " />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td valign="top">
<asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
<asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
</td>
<td>
<asp:Label ID="EmailLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
</td>
</tr>
</ItemTemplate>
<InsertItemTemplate>
<tr style="background-color:#B0C4DE">
<td valign="top">
<asp:Label runat="server" ID="FirstNameLabel"
AssociatedControlID="FirstNameTextBox" Text="First Name"/>
<asp:TextBox ID="FirstNameTextBox" runat="server"
Text='<%#Bind("FirstName") %>' MaxLength="50" /><br />
<asp:Label runat="server" ID="LastNameLabel"
AssociatedControlID="LastNameTextBox" Text="Last Name" />
<asp:TextBox ID="LastNameTextBox" runat="server"
Text='<%#Bind("LastName") %>' MaxLength="50" /><br />
<asp:Label runat="server" ID="EmailLabel"
AssociatedControlID="EmailTextBox" Text="Email" />
<asp:TextBox ID="EmailTextBox" runat="server"
Text='<%#Bind("EmailAddress") %>' MaxLength="50" /><br />
</td>
<td>
<asp:LinkButton ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" />
</td>
</tr>
</InsertItemTemplate>
</asp:ListView>
<asp:SqlDataSource ID="ContactsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [ContactID], [FirstName], [LastName], [EmailAddress]
FROM Person.Contact"
InsertCommand="INSERT INTO Person.Contact
([FirstName], [LastName], [EmailAddress], [PasswordHash], [PasswordSalt])
Values(@FirstName, @LastName, @EmailAddress, '', '');
SELECT @ContactID = SCOPE_IDENTITY()">
<InsertParameters>
<asp:Parameter Name="FirstName" />
<asp:Parameter Name="LastName" />
<asp:Parameter Name="EmailAddress" />
<asp:Parameter Name="ContactID" Type="Int32" Direction="Output" />
</InsertParameters>
</asp:SqlDataSource>
</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 Page_Load()
Message.Text = String.Empty
End Sub
'<Snippet2>
Sub ContactsListView_ItemInserting(ByVal sender As Object, _
ByVal e As ListViewInsertEventArgs)
' Iterate through the values to verify if they are not empty.
For Each de As DictionaryEntry In e.Values
If de.Value Is Nothing Then
Message.Text = "Cannot insert an empty value."
e.Cancel = True
End If
Next
End Sub
'</Snippet2>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView.ItemInserting Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView.ItemInserting Example</h3>
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<br/>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
DataKeyNames="ContactID"
OnItemInserting="ContactsListView_ItemInserting"
InsertItemPosition="LastItem"
runat="server">
<LayoutTemplate>
<table cellpadding="2" border="1" runat="server" id="tblProducts" width="640px">
<tr runat="server" id="itemPlaceholder" />
</table>
<asp:DataPager runat="server" ID="PeopleDataPager" PageSize="12">
<Fields>
<asp:NextPreviousPagerField
ShowFirstPageButton="true" ShowLastPageButton="true"
FirstPageText="|<< " LastPageText=" >>|"
NextPageText=" > " PreviousPageText=" < " />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td valign="top">
<asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
<asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
</td>
<td>
<asp:Label ID="EmailLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
</td>
</tr>
</ItemTemplate>
<InsertItemTemplate>
<tr style="background-color:#B0C4DE">
<td valign="top">
<asp:Label runat="server" ID="FirstNameLabel"
AssociatedControlID="FirstNameTextBox" Text="First Name"/>
<asp:TextBox ID="FirstNameTextBox" runat="server"
Text='<%#Bind("FirstName") %>' MaxLength="50" /><br />
<asp:Label runat="server" ID="LastNameLabel"
AssociatedControlID="LastNameTextBox" Text="Last Name" />
<asp:TextBox ID="LastNameTextBox" runat="server"
Text='<%#Bind("LastName") %>' MaxLength="50" /><br />
<asp:Label runat="server" ID="EmailLabel"
AssociatedControlID="EmailTextBox" Text="Email" />
<asp:TextBox ID="EmailTextBox" runat="server"
Text='<%#Bind("EmailAddress") %>' MaxLength="50" /><br />
</td>
<td>
<asp:LinkButton ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" />
</td>
</tr>
</InsertItemTemplate>
</asp:ListView>
<asp:SqlDataSource ID="ContactsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [ContactID], [FirstName], [LastName], [EmailAddress]
FROM Person.Contact"
InsertCommand="INSERT INTO Person.Contact
([FirstName], [LastName], [EmailAddress], [PasswordHash], [PasswordSalt])
Values(@FirstName, @LastName, @EmailAddress, '', '');
SELECT @ContactID = SCOPE_IDENTITY()">
<InsertParameters>
<asp:Parameter Name="FirstName" />
<asp:Parameter Name="LastName" />
<asp:Parameter Name="EmailAddress" />
<asp:Parameter Name="ContactID" Type="Int32" Direction="Output" />
</InsertParameters>
</asp:SqlDataSource>
</form>
</body>
</html>
Kommentarer
Kontrollen ListView genererar ItemInserting händelsen när en Infoga-knapp i kontrollen klickas, men innan ListView kontrollen infogar posten. (En Infoga-knapp är en knapp vars CommandName egenskap är inställd på "Infoga".) På så sätt kan du ange en metod för händelsehantering som utför en anpassad rutin när händelsen inträffar. Du kan till exempel verifiera eller HTML-koda värdena för en post innan den infogas i datakällan.
Ett ListViewInsertEventArgs objekt skickas till metoden för händelsehantering. Med det här objektet kan du fastställa värdet för ett valfritt kommandoargument som skickas till ListView kontrollen. Du kan komma åt objektet ListViewItem som infogas med hjälp Item av egenskapen . Du kan också läsa eller ändra fältvärdena för den nya posten med hjälp Values av egenskapen . Om du vill avbryta infogningsåtgärden anger du Cancel egenskapen till true.
En lista över initiala egenskapsvärden för en instans av ListViewInsertEventArgs klassen finns i ListViewInsertEventArgs konstruktorn.
Konstruktorer
| Name | Description |
|---|---|
| ListViewInsertEventArgs(ListViewItem) |
Initierar en ny instans av ListViewInsertEventArgs klassen. |
Egenskaper
| Name | Description |
|---|---|
| Cancel |
Hämtar eller anger ett värde som anger om händelsen ska avbrytas. (Ärvd från CancelEventArgs) |
| Item |
Hämtar ett ListViewItem objekt som representerar det dataobjekt som ska infogas. |
| Values |
Hämtar värdena för posten som ska infogas. |
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) |