使用 RadImageButton 绑定图像 URL

Binding Image URL with 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 控件完成此操作(如果可能),我将不胜感激。

我最近遇到了完全相同的问题。显然某些控件中的子项 objects/properties 不支持 DataBound。

您必须在 telerik:RadImageButton 标签本身内对图像 URL 进行绑定,因此不要使用 <Image Url="" /> 部分,而是将其放在 Image-Url 属性中:

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

你可以省略 .ToString() 部分。

我从 asp:ImageButton 切换到 telerik:RadImageButton 时得到的另一个 "issue" 是必须明确设置 widthheight。没有它,它就无法正常工作。图片(图标)格式不正确,尽管它的大小类似于 24x24。我最终设置了 width=""height="" 属性,但添加 CssClass 和使用样式也应该有效。