如何在ASCX上将ListView数据源显示为图像滑块?

问题描述 投票:0回答:1

我正在开发一个DotNetNuke项目,我必须在前端的SQL服务器数据库中显示一些图像作为滑块。我在ASCX页面上的asp:ListView控件中附加了滑块标记,并在我的代码隐藏文件中为asp:ListView分配了一个数据集作为数据源。

代码工作正常,但我需要将图像显示为滑块。目前,第二图像显示在第一图像的底部,第三图像显示在第二图像之后。我希望它们像滑块一样,从左到右滑动,反之亦然,左右两侧有导航按钮。

这是我的ASCX代码:

<asp:ListView ID="lvFeaturedSlider" runat="server" class="full">
    <ItemTemplate>
        <div class="home-slide">
            <a href="#">
                <span class="project-title-large">MARRIOT HOTEL LOUNGE</span>   
                <img src="http://localhost:52829<%# Eval("Image") %>" alt="">
            </a>
         </div>
    </ItemTemplate>
</asp:ListView>

这是代码背后的代码:

private void BindSlider()
   {
        ProjectsController objController = new ProjectsController();
        DataSet ds = new DataSet();
        ds = objController.GetFeaturedProjectSlider();

        if (ds.Tables[0].Rows.Count > 0)
        {
            lvFeaturedSlider.DataSource = ds.Tables[0].DefaultView;
            lvFeaturedSlider.DataBind();
        }
        else
        {
            lvFeaturedSlider.DataSource = null;
            lvFeaturedSlider.DataBind();
        }
    }

当我在ItemTemplate外部硬编码标记时,左右导航按钮出现。但是在绑定时,它们没有出现,图像也没有像滑块那样显示。我已尝试在foreach语句中包含ItemTemplate中的代码,但我无法弄清楚项目在ASCX页面上的确切格式。

c# dotnetnuke
1个回答
0
投票

我知道stackoverflow通过改变主题来回答问题时皱眉,但......我认为这在这里是合适的。

第一个问题:你在主题(皮肤)文件中这样做吗?如果你这不是正常的做法。

第二个问题:您是否将图像存储在DNN数据库中?通常这是不赞成的,主要是因为性能问题。


现在正确的方法是在DNN安装中安装模块,并使用它的UI和工具来配置滑块。所有这些都应该是模块的一部分。有一些非常好的滑块模块,包括商业和开源。谷歌,或检查DNN商店。


现在回答你的问题。您的转发器会在您的页面上创建一系列div,每个图像对应一个div。这就是为什么你在垂直布局中看到所有图像的原因。如果你想“滑动”它们,你需要添加一些功能来做到这一点。他们这样做的方法是添加一些javascript或jQuery来将这组div转换为滑块。谷歌'jquery滑块'有很多选择。

如果您使用已经开发的模块,那么所有这些都将为您完成。您只需要提供图像,也可能需要其他东西。

© www.soinside.com 2019 - 2024. All rights reserved.