ListViewUpdatedEventArgs クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ItemUpdated イベントのデータを提供します。
public ref class ListViewUpdatedEventArgs : EventArgs
public class ListViewUpdatedEventArgs : EventArgs
type ListViewUpdatedEventArgs = class
inherit EventArgs
Public Class ListViewUpdatedEventArgs
Inherits EventArgs
- 継承
例
次の例では、 オブジェクトを使用して、 ListViewUpdatedEventArgs 更新操作中に例外が発生したかどうかを判断する方法を示します。
重要
この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。 詳細については、「スクリプトによる攻略の概要」を参照してください。
<%@ 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_ItemUpdated(Object sender, ListViewUpdatedEventArgs e)
{
if (e.Exception != null)
{
if (e.AffectedRows == 0)
{
e.KeepInEditMode = true;
Message.Text = "An exception occurred updating the contact. " +
"Please verify your values and try again.";
}
else
Message.Text = "An exception occurred updating the contact. " +
"Please verify the values in the recently updated item.";
e.ExceptionHandled = true;
}
}
//</Snippet2>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView.ItemUpdated Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView.ItemUpdated Example</h3>
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<br/>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
DataKeyNames="ContactID"
OnItemUpdated="ContactsListView_ItemUpdated"
runat="server">
<LayoutTemplate>
<table cellpadding="2" border="1" runat="server" id="tblContacts" 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>
<td>
<asp:LinkButton ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
</td>
</tr>
</ItemTemplate>
<EditItemTemplate>
<tr style="background-color:#ADD8E6">
<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" Width="200px" /><br />
<asp:Label runat="server" ID="LastNameLabel"
AssociatedControlID="LastNameTextBox" Text="Last Name" />
<asp:TextBox ID="LastNameTextBox" runat="server"
Text='<%# Bind("LastName") %>' MaxLength="50" Width="200px" /><br />
<asp:Label runat="server" ID="EmailLabel"
AssociatedControlID="EmailTextBox" Text="Email" />
<asp:TextBox ID="EmailTextBox" runat="server"
Text='<%# Bind("EmailAddress") %>' MaxLength="50" Width="200px" />
</td>
<td colspan="2" valign="top">
<asp:LinkButton ID="UpdateButton" runat="server" CommandName="Update" Text="Update" />
<asp:LinkButton ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" />
</td>
</tr>
</EditItemTemplate>
</asp:ListView>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="ContactsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [ContactID], [FirstName], [LastName], [EmailAddress]
FROM Person.Contact"
UpdateCommand="UPDATE Person.Contact
Set [FirstName] = @FirstName, [LastName] = @LastName, [EmailAddress] = @EmailAddress
WHERE [ContactID] = @ContactID">
</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_ItemUpdated(sender As Object, e As ListViewUpdatedEventArgs)
If e.Exception IsNot Nothing Then
If e.AffectedRows = 0 Then
e.KeepInEditMode = True
Message.Text = "An exception occurred updating the contact. " & _
"Please verify your values and try again."
Else
Message.Text = "An exception occurred updating the contact. " & _
"Please verify the values in the recently updated item."
End If
e.ExceptionHandled = True
End If
End Sub
'</Snippet2>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView.ItemUpdated Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView.ItemUpdated Example</h3>
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<br/>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
DataKeyNames="ContactID"
OnItemUpdated="ContactsListView_ItemUpdated"
runat="server">
<LayoutTemplate>
<table cellpadding="2" border="1" runat="server" id="tblContacts" 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>
<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>
<td>
<asp:LinkButton ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
</td>
</tr>
</ItemTemplate>
<EditItemTemplate>
<tr style="background-color:#ADD8E6">
<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" Width="200px" /><br />
<asp:Label runat="server" ID="LastNameLabel"
AssociatedControlID="LastNameTextBox" Text="Last Name" />
<asp:TextBox ID="LastNameTextBox" runat="server"
Text='<%# Bind("LastName") %>' MaxLength="50" Width="200px" /><br />
<asp:Label runat="server" ID="EmailLabel"
AssociatedControlID="EmailTextBox" Text="Email" />
<asp:TextBox ID="EmailTextBox" runat="server"
Text='<%# Bind("EmailAddress") %>' MaxLength="50" Width="200px" />
</td>
<td colspan="2" valign="top">
<asp:LinkButton ID="UpdateButton" runat="server" CommandName="Update" Text="Update" />
<asp:LinkButton ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" />
</td>
</tr>
</EditItemTemplate>
</asp:ListView>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="ContactsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [ContactID], [FirstName], [LastName], [EmailAddress]
FROM Person.Contact"
UpdateCommand="UPDATE Person.Contact
Set [FirstName] = @FirstName, [LastName] = @LastName, [EmailAddress] = @EmailAddress
WHERE [ContactID] = @ContactID">
</asp:SqlDataSource>
</form>
</body>
</html>
注釈
コントロールはListView、メソッドが呼び出されたときUpdateItem、またはコントロールの [更新] ボタンがクリックされたときに、コントロールが項目を更新した後にイベントをListView発生ItemUpdatedさせます。 ([更新] ボタンは、プロパティが CommandName
"Update" に設定されているボタンです)。これにより、更新操作の結果の確認など、このイベントが発生するたびにカスタム ルーチンを実行するイベント処理メソッドを提供できます。
ListViewUpdatedEventArgsオブジェクトは、イベント処理メソッドに渡されます。 このオブジェクトを使用すると、更新された項目の数を確認し、発生した可能性のある例外を取得できます。 更新操作の影響を受けた項目の数を確認するには、 プロパティを AffectedRows 使用します。 例外が発生したかどうかを確認するには、 プロパティを使用します Exception 。 イベント処理メソッドで例外が処理されたかどうかを示す場合は、 プロパティを ExceptionHandled 設定します。 プロパティを使用して、元のフィールド値に OldValues アクセスできます。 更新されたフィールド値には、 プロパティを NewValues 使用してアクセスできます。
既定では、アイテムは ListView 更新操作の後に読み取り専用モードに戻ります。 更新操作中に発生した例外を処理する場合は、 プロパティtrue
を ListView に設定することで、アイテムを編集モードのままにKeepInEditModeできます。
ListViewUpdatedEventArgs クラスのインスタンスの初期プロパティ値一覧については、ListViewUpdatedEventArgs コンストラクターに関するトピックを参照してください。
コンストラクター
ListViewUpdatedEventArgs(Int32, Exception) |
ListViewUpdatedEventArgs クラスの新しいインスタンスを初期化します。 |
プロパティ
AffectedRows |
更新操作の影響を受けた行の数を取得します。 |
Exception |
更新操作中に例外が発生した場合は、その例外を取得します。 |
ExceptionHandled |
更新操作中に発生した例外がイベント ハンドラーで処理されたかどうかを示す値を取得または設定します。 |
KeepInEditMode |
更新操作後に ListView コントロールを編集モードのまま維持するかどうかを示す値を取得または設定します。 |
NewValues |
更新された項目の新しい値が格納されているディクショナリを取得します。 |
OldValues |
更新された項目の元の値が格納されているディクショナリを取得します。 |
メソッド
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
こちらもご覧ください
.NET