0

OnCommand イベントに問題があります。このパラメーターを引数として指定したり表示したりするとすべて問題ありませんが、CommandArgument として使用すると InvalidCastException が発生します。コード ビハインド メソッドでは、CommandArgument は等しい "" (string.Empty)

私のaspxファイルには、以下のコードがあります:

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

私のコードビハインドファイルにはこれがあります

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;
}
4

2 に答える 2

2

(')二重引用符の代わりに一重引用符(")を使用してみてくださいCommandArgument

CommandArgument='<%# (bool)Eval("IsCandidateFavourite") %>'
于 2012-05-14T09:23:24.573 に答える
0

CommandArgumentは、ここで説明されている文字列型です-> http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.imagebutton.commandargument.aspx

于 2012-05-14T09:14:35.037 に答える