ListView.InsertItem 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得 ListView 控制項的插入項目。
public:
virtual property System::Web::UI::WebControls::ListViewItem ^ InsertItem { System::Web::UI::WebControls::ListViewItem ^ get(); };
[System.ComponentModel.Browsable(false)]
public virtual System.Web.UI.WebControls.ListViewItem InsertItem { get; }
[<System.ComponentModel.Browsable(false)>]
member this.InsertItem : System.Web.UI.WebControls.ListViewItem
Public Overridable ReadOnly Property InsertItem As ListViewItem
屬性值
物件,表示 ListView 控制項的插入項目。
- 屬性
範例
下列範例示範如何使用 屬性取得插入專案 InsertItem ,以存取範本中包含的 InsertItemTemplate 控件。
重要
此範例包含接受使用者輸入的文本框,這是潛在的安全性威脅。 根據預設,ASP.NET Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。 如需詳細資訊,請參閱 Script Exploits Overview (指令碼攻擊概觀)。
<%@ 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">
protected void CountriesListView_ItemInserting(object sender, ListViewInsertEventArgs e)
{
// Get the controls that are contained in the insert item.
TextBox countryCodeTextBox =
(TextBox)CountriesListView.InsertItem.FindControl("CountryCodeTextBox");
TextBox nameTextBox =
(TextBox)CountriesListView.InsertItem.FindControl("NameTextBox");
//Check if the controls are empty.
if ((countryCodeTextBox.Text.Trim().Length == 0) ||
(nameTextBox.Text.Trim().Length == 0))
{
MessageLabel.Text =
"The system could not insert the item. All fields are required.";
e.Cancel = true;
return;
}
}
protected void Page_Load(object sender, EventArgs e)
{
//Clear the message label.
MessageLabel.Text = "";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView InsertItem Example</title>
<style type="text/css">
body { font: 10pt Trebuchet MS, Arial, Tahoma; }
th { background: #8FBC8F; }
.item td { border: 1px solid #8FBC8F; }
.insertItem td { background: #D3D3D3; }
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView InsertItem Example</h3>
<asp:ListView ID="CountriesListView"
DataSourceID="CountryDataSource"
DataKeyNames="CountryRegionCode"
InsertItemPosition="LastItem"
runat="server"
oniteminserting="CountriesListView_ItemInserting">
<LayoutTemplate>
<table cellpadding="4" width="500" runat="server" id="tblCountries">
<tr runat="server">
<th runat="server">Code</th>
<th runat="server">Name</th>
</tr>
<tr runat="server" id="itemPlaceholder" />
</table>
<asp:DataPager ID="CountriesPager" runat="server" PageSize="20">
<Fields>
<asp:NumericPagerField ButtonCount="10" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr class="item" runat="server">
<td>
<asp:Label ID="CountryCodeLabel" runat="server"
Text='<%# Eval("CountryRegionCode")%>' />
</td>
<td>
<asp:Label ID="NameLabel" runat="server"
Text='<%# Eval("Name")%>' />
</td>
</tr>
</ItemTemplate>
<InsertItemTemplate>
<tr class="insertItem">
<td align="right">Code:</td>
<td align="left">
<asp:TextBox ID="CountryCodeTextBox" runat="server"
Text='<%# Bind("CountryRegionCode")%>'
MaxLength="3" />
</td>
</tr>
<tr class="insertItem">
<td align="right">Name:</td>
<td align="left">
<asp:TextBox ID="NameTextBox" runat="server"
Text='<%# Bind("Name")%>'
MaxLength="50" />
</td>
</tr>
<tr class="insertItem" runat="server">
<td colspan="2" align="center">
<asp:Button ID="InsertButton" runat="server"
CommandName="Insert" Text="Insert" />
<asp:Button ID="CancelButton" runat="server"
CommandName="Cancel" Text="Clear" />
</td>
</tr>
</InsertItemTemplate>
</asp:ListView>
<br /><br />
<asp:Label ID="MessageLabel"
ForeColor="Red"
runat="server" />
<!-- 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="CountryDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [CountryRegionCode], [Name]
FROM [Person].[CountryRegion]"
InsertCommand="INSERT INTO Person.CountryRegion(CountryRegionCode, Name)
VALUES (@CountryRegionCode, @Name)">
</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">
Protected Sub CountriesListView_ItemInserting(ByVal sender As Object, _
ByVal e As ListViewInsertEventArgs)
' Get the controls that are contained in the insert item.
Dim countryCodeTextBox As TextBox = _
CType(CountriesListView.InsertItem.FindControl("CountryCodeTextBox"), TextBox)
Dim nameTextBox As TextBox = _
CType(CountriesListView.InsertItem.FindControl("NameTextBox"), TextBox)
'Check if the controls are empty.
If countryCodeTextBox.Text.Trim().Length = 0 _
OrElse nameTextBox.Text.Trim().Length = 0 Then
MessageLabel.Text = "The system could not insert the item. All fields are required."
e.Cancel = True
Return
End If
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
'Clear the message label.
MessageLabel.Text = ""
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView InsertItem Example</title>
<style type="text/css">
body { font: 10pt Trebuchet MS, Arial, Tahoma; }
th { background: #8FBC8F; }
.item td { border: 1px solid #8FBC8F; }
.insertItem td { background: #D3D3D3; }
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView InsertItem Example</h3>
<asp:ListView ID="CountriesListView"
DataSourceID="CountryDataSource"
DataKeyNames="CountryRegionCode"
InsertItemPosition="LastItem"
runat="server"
oniteminserting="CountriesListView_ItemInserting">
<LayoutTemplate>
<table cellpadding="4" width="500" runat="server" id="tblCountries">
<tr runat="server">
<th runat="server">Code</th>
<th runat="server">Name</th>
</tr>
<tr runat="server" id="itemPlaceholder" />
</table>
<asp:DataPager ID="CountriesPager" runat="server" PageSize="20">
<Fields>
<asp:NumericPagerField ButtonCount="10" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr class="item" runat="server">
<td>
<asp:Label ID="CountryCodeLabel" runat="server"
Text='<%# Eval("CountryRegionCode")%>' />
</td>
<td>
<asp:Label ID="NameLabel" runat="server"
Text='<%# Eval("Name")%>' />
</td>
</tr>
</ItemTemplate>
<InsertItemTemplate>
<tr class="insertItem">
<td align="right">Code:</td>
<td align="left">
<asp:TextBox ID="CountryCodeTextBox" runat="server"
Text='<%# Bind("CountryRegionCode")%>'
MaxLength="3" />
</td>
</tr>
<tr class="insertItem">
<td align="right">Name:</td>
<td align="left">
<asp:TextBox ID="NameTextBox" runat="server"
Text='<%# Bind("Name")%>'
MaxLength="50" />
</td>
</tr>
<tr class="insertItem" runat="server">
<td colspan="2" align="center">
<asp:Button ID="InsertButton" runat="server"
CommandName="Insert" Text="Insert" />
<asp:Button ID="CancelButton" runat="server"
CommandName="Cancel" Text="Clear" />
</td>
</tr>
</InsertItemTemplate>
</asp:ListView>
<br /><br />
<asp:Label ID="MessageLabel"
ForeColor="Red"
runat="server" />
<!-- 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="CountryDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [CountryRegionCode], [Name]
FROM [Person].[CountryRegion]"
InsertCommand="INSERT INTO Person.CountryRegion(CountryRegionCode, Name)
VALUES (@CountryRegionCode, @Name)">
</asp:SqlDataSource>
</form>
</body>
</html>
備註
InsertItem使用屬性來存取 控制件的ListView插入專案。 插入項目是 ListViewItem 物件,其 ItemType 等於 ListViewItemType.InsertItem。 插入項目的內容是由屬性所 InsertItemTemplate 定義。