У меня проблема с событием OnCommand. Когда я даю этот параметр как аргумент или показываю, все в порядке, но если я использовал его как CommandArgument, я получаю InvalidCastException. В код позади метода CommandArgument равно "" (string.Empty)Событие OnCommand в элементе управления ImageButton
В моем файле 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;
}
Это потому, что тип данных 'e.CommandArgument' не является логическим. Таким образом, вы не можете наложить его на '(bool) e.CommandArgument' –