我对 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;
}