2014-11-18 11 views
0

ImageButton을 리피터에 추가했습니다. 내가 다른 이미지를 클릭하면,ImageButton ImageUrl을 기본 URL로 재설정

[...] 
ImageButton btn = (ImageButton)sender; 
btn.ImageUrl = "/Images/" + sportName + "-trp-selected.png"; 
[...] 

그러나 : 나는 선택의 이미지 URL을 변경 뒤에 코드에서

<asp:Repeater ID="rpt" runat="server"> 
    <ItemTemplate> 
    <asp:ImageButton ID="img_sport" runat="server" CommandName='<%# Eval("IDSport") %>' CommandArgument='<%# Eval("SportName") %>' ImageUrl='<%# Eval("SportName","~/Images/{0}-trp.png") %>' OnCommand="img_sport_Click" /> 
    </ItemTemplate> 
</asp:Repeater> 

이/이런 식으로 이미지를 클릭 :

내 ASP.NET의 코드는 우선 2/3/4 이미지가 선택 상태로 표시 될 것입니다. 우선, 코드 내에서 ImageUrl을 기본값으로 재설정하고 싶습니다. 그런 다음 새 ImageUrl을 선택한/클릭 된 ImageButton에만 적용합니다.

그럼 어떻게 ImageUrl을 모두 재설정 할 수 있습니까?

답변

1

코드를 볼 때 이미지를 선택했는지 여부를 사용자가 식별 할 수 있도록 클릭 한 이미지를 변경하려고합니다. 이것을 원한다면, 다시 게시하지 않고 동일한 것을 처리 할 수있는 JavaScript을 시도해 보시기 바랍니다.

같은 자바 스크립트 기능을 가진 코드 샘플 아래 참조 :

<asp:Repeater ID="rpt" runat="server"> 
    <ItemTemplate> 
     <asp:ImageButton ID="img_sport" runat="server" ImageUrl='<%# Eval("SportName","~/Images/{0}-trp.png") %>' OnClientClick='<%# "return ManageSelection(this,\"" + Eval("SportName").ToString() + "\");"%>' /> 
    </ItemTemplate> 
</asp:Repeater> 

<script type="text/javascript"> 
    function ManageSelection(control, sportName) { 
     var selectedImage = '/Images/' + sportName + "-trp-selected.png"; 
     $(control).attr('src', selectedImage); 
     return false; 
    } 
</script>