从Telerik Sitefinity模块获取图像

时间:2013-01-07 13:41:41

标签: c# telerik sitefinity sitefinity-5

我正在使用Telerik Sitefinity 5.1。我已经构建了一个包含3个字段{title,url,image} title和url - >的模块。字符串字段 图像 - > '图像选择器'

的.cs

protected void Page_Load(object sender, EventArgs e)
    {       
        var myCollection = GetDataItems();

        RadRotator1.DataSource = myCollection;
        RadRotator1.DataBind();
    }

    public IQueryable<DynamicContent> GetDataItems()
    {
        DynamicModuleManager dynamicModuleManager = DynamicModuleManager.GetManager();
        Type brandLogosType = TypeResolutionService.ResolveType("Telerik.Sitefinity.DynamicTypes.Model.BrandLogos.BrandLogos");         
        var myCollection = dynamicModuleManager.GetDataItems(brandLogosType).Where(i => i.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live && i.Visible == true);

        return myCollection;
    }

asp.x

<telerik:RadRotator ID="RadRotator1" runat="server" RotatorType="AutomaticAdvance"
BorderWidth="4px" Width="100px" Height="100px" ScrollDirection="Down">
<ItemTemplate>
    <asp:Image runat="server" ID="image1" />
    <%-- <asp:Label ID="lblTitle" runat="server" Text='<%# Eval("title") %>'></asp:Label>--%>
    <asp:Image ID="img1" runat="server" ImageUrl='<%# Eval("UrlWithExtension") %>' />
</ItemTemplate>

使用title获取urlText='<%# Eval("title") %>'字段但不知道如何获取此类图像。有人能告诉我吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

Image字段使用ContentLink存储对Sitefinity图像的引用,此ContentLink实际存储在属性中。

您可以展开内容链接以使用辅助方法获取图像,如下所述:http://www.sitefinity.com/blogs/joshmorales/posts/josh-morales-blog/2012/01/19/retrieving_data_from_dynamic_modules_using_the_module_builder_api

我希望这有用!

答案 1 :(得分:0)

你好我通过在我们的自定义控件的代码隐藏文件中创建一个函数解决了这个问题,并在control.ascx文件中调用了该方法,其中我添加了一个转发器&amp;这里显示图像的asp.net图像控制字段是我网站中的示例解决方案

Get Images in custom control from Custom module image asset field