2013-12-01 3 views
0

두 개의 링크 단추 (열기 및 다운로드를 각각 열어서 서버 파일을 열고 다운로드해야하는 열이 포함 된 listview가 있습니다. 목록보기의 각 행에 대해 ID 열이 있습니다. 나는 listview의 DataKeyNames 속성을 "ID"로 설정하고 DataKeys가 행 값으로 채워지는지 확인했다. 특정 링크 버튼을 클릭하면 선택한 ID가 해당 행에 해당하는 서버 파일의 링크를 결정해야합니다. linkButton_click 이벤트를 추가했지만, 처리기 내부에서 SelectedDataKey에 액세스하려고하면 null이 유지됩니다. 링크 버튼의 클릭 핸들러에서 ID를 가져 오는 방법은 무엇입니까?ListView ASP .NET에서 선택된 LinkButton 가져 오기

답변

1

이를 사용할 수 있습니다

protected void ConferencesListView_ItemCommand(object sender, ListViewCommandEventArgs e) 
    { 
     int _Id; 
     int.TryParse(e.CommandArgument.ToString(), out _Id); 
     if (e.CommandName == "View") 
     { 
     } 
    } 

및 디자이너 :

<asp:LinkButton ID="ViewLinkButton" runat="server" CommandName="View" CommandArgument='<%# Eval("ID") %>' /> 
1

당신은 영문 마크 업 및 필요 뒤에 코드에 주어진 예에 따라 변경 될 방법 DataKeys은 MSDN에서 직접 촬영 한 예 위

protected void EmployeesListView_OnItemCommand(object sender, ListViewCommandEventArgs e) 
    { 
    if (String.Equals(e.CommandName, "AddToList")) 
    { 
     // Verify that the employee ID is not already in the list. If not, add the 
     // employee to the list. 
     ListViewDataItem dataItem = (ListViewDataItem)e.Item; 
     string employeeID = 
     EmployeesListView.DataKeys[dataItem.DisplayIndex].Value.ToString(); 

     if (SelectedEmployeesListBox.Items.FindByValue(employeeID) == null) 
     { 
     ListItem item = new ListItem(e.CommandArgument.ToString(), employeeID); 
     SelectedEmployeesListBox.Items.Add(item); 
     } 
    } 
    } 

아래로, 당신은 더 나은 확인 ListView.ItemCommand를 사용하여 얻을 필요 위에 제공된 문서 링크.

관련 문제