2009-11-26 4 views
0

버튼을 클릭했을 때 listview에서 레이블 컨트롤에 액세스해야합니다 (동일한 행에 있음) ...단추를 클릭하면 어떻게 ListView 내의 컨트롤에 액세스 할 수 있습니까?

누구든지이 작업을 수행하는 방법을 알고 있습니까? 뒤에

<asp:ListView ID="ListView1" runat="server" DataSourceID="DataSource"> 
<LayoutTemplate>//Etc </LayoutTemplate> 
<ItemTemplate> 
<asp:Label ID="lblDone" runat="server" Visible="false">Your vote has been counted</asp:Label> 
<asp:Button ID="voteButton" runat="server" Text="Vote" CommandArgument='<%#Eval("id") %>' OnClick="voteOnThis" /> 
</ItemTemplate> 

코드 : :(

이 ... 통찰력의 더 아래

ASPX 페이지를 참조하십시오

protected void voteOnThis(object sender, EventArgs e) 
{ 
    Button myButton = (Button)sender; 
    Voting.vote(int.Parse(myButton.CommandArgument)); 
    // Here i would like to access the 'label' lblDone and make this Visible  
} 

답변

0

당신은 목록보기 행 바인딩에 연결해야하고 클릭하면 가져올 정보를 추가합니다.이 버튼을 사용하면 클릭하면 다시 읽는 버튼에 속성을 추가 할 수 있습니다. 예를 들어 ...

실제 코드를 게시 한 경우 좀 더 도움이 될 것입니다.

<script> 
function showLblDone(){ 
$(this).siblings('span').show();} 
</script> 

당신은 또한이 함수를 호출 할 수 있습니다

1

이 간단한 경우에, 나는 스크립트 태그 안에 showLblDone 함수를 정의, 이제 자바 스크립트 (JQuery와)를 사용하여

<asp:ListView ID="ListView1" runat="server" DataSourceID="DataSource"> 
<LayoutTemplate>//Etc </LayoutTemplate> 
<ItemTemplate> 
<asp:Label ID="lblDone" runat="server" style="visibility:hidden">Your vote has been counted</asp:Label> 
<asp:Button OnClientClick="showLblDone()" ID="voteButton" runat="server" Text="Vote" CommandArgument='<%#Eval("id") %>' OnClick="voteOnThis" /> 
</ItemTemplate> 

을 고려해야한다 매개 변수를 클릭 할 때마다 표시하거나 숨기거나 .show() 대신 .toggle()을 사용할 수 있습니다.

이 경우 ItemTemplate 내에 div (또는 Panel)를 추가해야합니다.

관련 문제