Связывание URL изображения с RadImageButton

Я спросил на сайте Telerik, но там явно не хватает трафика, чтобы генерировать ответы.

Я пытаюсь преобразовать asp ImageButton в RadImageButton, потому что есть некоторые полезные функции, которые сделают мою жизнь немного проще. Однако привязка к URL-адресу изображения не будет работать - по крайней мере, так, как я это делаю.

Так что это работает (оба находятся в том же ListView):

<asp:ImageButton ID="im" runat="server" ImageUrl='<%# Eval("ImgUrl") %>' />

Но это:

<telerik:RadImageButton runat="server" ID="itemImageButton" '>
    <Image Url='<%# Eval("ImgUrl") %>' />
</telerik:RadImageButton>

выдает мне ошибку что-то вроде Telerik.Web.UI.ButtonBase.ButtonImage не имеет события DataBinding.

Если бы кто-то мог указать мне правильное направление, чтобы сделать это с помощью элемента управления RadImageButton (если это возможно), я был бы признателен.

1 ответ

Решение

Недавно я столкнулся с точно такой же проблемой. Очевидно, дочерние объекты / свойства в некоторых элементах управления не поддерживают DataBound.

Вы должны сделать привязку для URL изображения внутри telerik:RadImageButton сам тег, поэтому вместо использования <Image Url="" /> раздел, поместите его в Image-Url атрибут:

<telerik:RadImageButton runat="server" ID="itemImageButton" Image-Url='<%# Eval("ImgUrl").ToString() %>'>
</telerik:RadImageButton>

Вы можете пропустить .ToString() хотя часть.

Еще одна "проблема", с которой я столкнулся при переходе с asp:ImageButton в telerik:RadImageButton была необходимость установить width а также height в явном виде. Без этого это не сработало из коробки. Изображение (значок) было искажено, хотя было размером 24х24. Я закончил настройку width="" а также height="" атрибуты, но добавление CssClass и использование стилей должно работать тоже.

Другие вопросы по тегам