2012-05-14 2 views
0

OnCommand 이벤트에 문제가 있습니다. 이 매개 변수를 인수로 사용하거나 모든 것을 표시 할 때 CommandArgument로 사용하면 InvalidCastException이 발생합니다. 나는이ImageButton 컨트롤의 OnCommand 이벤트

public string GetIsCandidateFavoriteImageUrl(bool isNowFavorite) 
{ 
    if (isNowFavorite) 
    { 
     return @"~/_images/icon_grid_fav.gif"; 
    } 
    return @"~/_images/icon_grid_unfav.gif"; 
} 

protected void imBtnFavorite_Command(object sender, CommandEventArgs e) 
{ 
    bool isFavorite =(bool) e.CommandArgument; 
} 
+0

이 있습니다. 그래서, 당신은'(bool) e.CommandArgument'에 의해 그것을 캐스팅 할 수 없습니다. –

답변

2

큰 따옴표를 사용하여보십시오 의 데이터 유형은`e.CommandArgument` 부울되지 않기 때문에 N CommandArgument

CommandArgument='<%# (bool)Eval("IsCandidateFavourite") %>' 
0

이 파일 뒤에 내 코드에서

<%# (bool)Eval("IsCandidateFavourite") %> //just display value 
<asp:ImageButton id="ImageButton1" runat="server" 
    CommandArgument="<%# (bool)Eval("IsCandidateFavourite") %>" 
    OnCommand="imBtnFavorite_Command" 
    ImageUrl='<%# GetIsFavoriteImageUrl((bool)(Eval("IsCandidateFavourite"))) %>'/> 

: 방법 CommandArgument 뒤에 코드 (String.Empty로) 내 영문 파일에서

""동일 나는 다음이 코드가 CommandArgument는 여기에 언급 된 문자열 유형입니다 ->http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.imagebutton.commandargument.aspx

관련 문제