ListView.DataKeyNames 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
ListView 컨트롤에 표시된 항목에 대한 기본 키 필드의 이름이 들어 있는 배열을 가져오거나 설정합니다.
public:
virtual property cli::array <System::String ^> ^ DataKeyNames { cli::array <System::String ^> ^ get(); void set(cli::array <System::String ^> ^ value); };
[System.ComponentModel.TypeConverter(typeof(System.Web.UI.WebControls.StringArrayConverter))]
public virtual string[] DataKeyNames { get; set; }
[<System.ComponentModel.TypeConverter(typeof(System.Web.UI.WebControls.StringArrayConverter))>]
member this.DataKeyNames : string[] with get, set
Public Overridable Property DataKeyNames As String()
속성 값
ListView 컨트롤에 표시된 항목의 기본 키 필드 이름이 들어 있는 배열입니다.
- 특성
예제
다음 예제에서는 사용 하는 방법에 설명 합니다 DataKeyNames 데이터 원본의 키 필드를 지정 하는 속성입니다.
<asp:ListView runat="server"
ID="EmployeesListView"
OnItemCommand="EmployeesListView_OnItemCommand"
DataSourceID="EmployeesDataSource"
DataKeyNames="EmployeeID">
<LayoutTemplate>
<table runat="server" id="tblEmployees"
cellspacing="0" cellpadding="1" width="440px" border="1">
<tr id="itemPlaceholder" runat="server"></tr>
</table>
<asp:DataPager ID="EmployeesDataPager" runat="server" PageSize="10">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td>
<asp:Label runat="server" ID="NameLabel"
Text='<%#Eval("LastName") + ", " + Eval("FirstName") %>' />
</td>
<td style="width:80px">
<asp:LinkButton runat="server"
ID="SelectEmployeeButton"
Text="Add To List"
CommandName="AddToList"
CommandArgument='<%#Eval("LastName") + ", " + Eval("FirstName") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br /><br />
<b>Selected Employees:</b><br />
<asp:ListBox runat="server" ID="SelectedEmployeesListBox" Rows="10" Width="300px" />
<!-- 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="EmployeesDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [EmployeeID], [FirstName], [LastName]
FROM HumanResources.vEmployee
ORDER BY [LastName], [FirstName], [EmployeeID]">
</asp:SqlDataSource>
<asp:ListView runat="server"
ID="EmployeesListView"
OnItemCommand="EmployeesListView_OnItemCommand"
DataSourceID="EmployeesDataSource"
DataKeyNames="EmployeeID">
<LayoutTemplate>
<table runat="server" id="tblEmployees"
cellspacing="0" cellpadding="1" width="440px" border="1">
<tr id="itemPlaceholder" runat="server"></tr>
</table>
<asp:DataPager ID="EmployeesDataPager" runat="server" PageSize="10">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td>
<asp:Label runat="server" ID="NameLabel"
Text='<%#Eval("LastName") & ", " & Eval("FirstName") %>' />
</td>
<td style="width:80px">
<asp:LinkButton runat="server"
ID="SelectEmployeeButton"
Text="Add To List"
CommandName="AddToList"
CommandArgument='<%#Eval("LastName") & ", " & Eval("FirstName") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br /><br />
<b>Selected Employees:</b><br />
<asp:ListBox runat="server" ID="SelectedEmployeesListBox" Rows="10" Width="300px" />
<!-- 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="EmployeesDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [EmployeeID], [FirstName], [LastName]
FROM HumanResources.vEmployee
ORDER BY [LastName], [FirstName], [EmployeeID]">
</asp:SqlDataSource>
설명
사용 된 데이터 원본의 DataKeyNames 기본 키를 나타내는 필드 또는 필드를 지정 하는 속성입니다. 이 속성을 선언적으로 설정하려면 쉼표로 구분된 필드 이름 목록을 사용합니다.
속성이 DataKeyNames 설정되면 컨트롤은 ListView 지정된 필드 또는 필드의 값으로 해당 컬렉션을 자동으로 채웁니다 DataKeys . 이렇게 하면 각 항목의 기본 키에 액세스하는 편리한 방법이 제공됩니다.
중요
컨트롤은 ListView 컨트롤 상태 필드에 키 필드 값을 저장합니다. 이러한 값에 중요한 정보가 포함된 경우 속성을 ViewStateEncryptionMode.Always
로 설정하여 뷰 상태 암호화를 ViewStateEncryptionMode 사용하도록 설정하는 것이 좋습니다.
컨트롤의 DataKeyNames 자동 업데이트 및 삭제 기능이 ListView 작동하려면 속성을 설정해야 합니다. 이러한 키 필드의 값은 업데이트 또는 삭제할 항목과 일치하기 위해 데이터 원본 컨트롤에 전달됩니다.
속성을 사용하여 데이터 키로 지정된 필드는 컬렉션을 사용하여 DataKeyNamesKeys
업데이트 및 삭제 작업 중에 데이터 원본 제어에 전달됩니다. 데이터 키 필드는 템플릿의 컨트롤에 바인딩되지 않은 경우에도 데이터 원본 컨트롤에 전달됩니다.
적용 대상
추가 정보
.NET