我正在开发一个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页面上的确切格式。
我知道stackoverflow通过改变主题来回答问题时皱眉,但......我认为这在这里是合适的。
第一个问题:你在主题(皮肤)文件中这样做吗?如果你这不是正常的做法。
第二个问题:您是否将图像存储在DNN数据库中?通常这是不赞成的,主要是因为性能问题。
现在正确的方法是在DNN安装中安装模块,并使用它的UI和工具来配置滑块。所有这些都应该是模块的一部分。有一些非常好的滑块模块,包括商业和开源。谷歌,或检查DNN商店。
现在回答你的问题。您的转发器会在您的页面上创建一系列div,每个图像对应一个div。这就是为什么你在垂直布局中看到所有图像的原因。如果你想“滑动”它们,你需要添加一些功能来做到这一点。他们这样做的方法是添加一些javascript或jQuery来将这组div转换为滑块。谷歌'jquery滑块'有很多选择。
如果您使用已经开发的模块,那么所有这些都将为您完成。您只需要提供图像,也可能需要其他东西。