ASP.NET 实现轮播图动态查询数据库加载图片效果HTML+JS+SqlServer+C#(超详细)

ASP.NET 实现轮播图动态查询数据库加载图片效果HTML+JS+SqlServer+C#(超详细)

炒鸡详细的轮播图哦!应用于你的各个地方
效果大概是这样子的:
在这里插入图片描述
点击两侧的箭头可实现前后翻页,或者直接悬浮到下方的小圆点上
在这里插入图片描述
话不多说,直接上代码

ASP.NET 前端代码:
使用repeater控件进行图片的展示

<div id="flash">
	 <div id="prev"></div>
	 <div id="next"></div>
	 <ul id="play">
        <%--轮播图展示--%>
		 <asp:Repeater ID="rpLunBo" runat="server">
			 <ItemTemplate>
				<li><a href="LieBiao.aspx?DH1=<%#Eval("GuanjianName")%>"><img src='<%#"../img/lunbo/"+Eval("img")%>' alt="" height="495px" width="1042px" /></a></li>
			</ItemTemplate>
		 </asp:Repeater>
	 </ul>
	<%--轮播图导航按钮--%>
	 <ul id="button">
			<li><div style="background: #A10000;"></div></li>
			<li><div></div></li>
			<li><div></div></li>
			<li><div></div></li>
			<li><div></div></li>
			<li><div></div></li>
			<li><div></div></li>
			<li><div></div></li>
	 </ul>
 </div>

使用JS代码控制图片的轮播

window.onload=function()
{
	 var oPlay=document.getElementById('play');
	 var aLi=oPlay.getElementsByTagName('li');
	 var oButton=document.getElementById('button');
	 var aDiv=oButton.getElementsByTagName('div');
	 var oPrev=document.getElementById('prev');
	 var oNext=document.getElementById('next');
	 var oFlash=document.getElementById('flash');
	 var now=0;
	 var timer2=null;
	 for(var i=0; i<aDiv.length; i++) {
	 	aDiv[i].index=i;
	 	aDiv[i].onmouseover=function(){
	 		if(now==this.index) return;
	 		now=this.index;
	 		tab();
	 	}
	 }
	 oPrev.onclick=function(){
	 	now--;
	 	if(now==-1){
	 		now=aDiv.length-1;
	 	}
	 	tab();
	 }
	 oNext.onclick=function(){
	 	now++;
	 	if(now==aDiv.length){
	 		now=0;
	 	}
	 	tab();
	 }
	 oFlash.onmouseover=function()
	{
	    clearInterval(timer2);
	}
	 oFlash.onmouseout=function()
	{
		timer2=setInterval(oNext.onclick,4000);
	}
	 timer2=setInterval(oNext.onclick,5000);
	 function tab(){
	 	for(var i=0; i<aLi.length; i++){
	 		aLi[i].style.display='none';
	 	}
	 	for(var i=0; i<aDiv.length; i++) {
	 		aDiv[i].style.background="#DDDDDD";
	 	}
	 	aDiv[now].style.background='#A10000';
	 	aLi[now].style.display='block';
	 	aLi[now].style.opacity=0;
	 	aLi[now].style.filter="alpha(opacity=0)";
	 	jianbian(aLi[now]);
	 }
	function jianbian(obj){
		var alpha=0;
		clearInterval(timer);
		var timer=setInterval(function(){
			alpha++;
			obj.style.opacity=alpha/100;
			obj.style.filter="alpha(opacity="+alpha+")";
			if(alpha==100) {
				clearInterval(timer);
			}
		},10);
	}
}

轮播的CSS

/*轮播*/
#flash {
    width: 1042px;
    height: 495px;
    position: relative;
}
#flash #play li {
   
    /*position: absolute;
    top: 0px;
    left: 0px;*/
}
#play li:not(:first-child) {
    display: none;
}
#button {
    position: absolute;
    bottom: 20px;
    left: 470px;
    list-style: none;
}
#button li {
    margin-left: 10px;
    float: left;
}

#button li div {
    width: 12px;
    height: 12px;
    background: #DDDDDD;
    border-radius: 6px;
    cursor: pointer;
}
#prev {
    width: 40px;
    height: 63px;
    background-image: url('../../img/lunbo/beijing.png');
    position: absolute;
    top: 205px;
    left: 10px;
}
#next {
    width: 40px;
    height: 63px;
    background: url('../../img/lunbo/beijing.png') -40px 0px;
    position: absolute;
    top: 205px;
    right: 10px;
}
#prev:hover {
    background-image: url('../../img/lunbo/beijing.png') 0px -62px;
}
#next:hover {
    background-image: url('../../img/lunbo/beijing.png') -40px -62px;
}

c#后端代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        rpLunBo.DataSource = TbIndexManager.SelectTbLunBo();
        rpLunBo.DataBind();
    }
}

三层架构中BLL层中的代码:

public static List<TbLunBo> SelectTbLunBo()
{
    SqlDataReader dr = TbIndexService.SelectTbLunBo();
    List<TbLunBo> tbLunBos = new List<TbLunBo>();
    while (dr.Read())
    {
        TbLunBo lunbo = new TbLunBo();
        lunbo.ID = dr.GetInt32(0);
        lunbo.LunBoID = dr.GetInt32(1);
        lunbo.img = dr.GetString(2);
        lunbo.GuanjianName = dr.GetString(3);
        tbLunBos.Add(lunbo);
    }
    dr.Close();
    return tbLunBos;
}

三层架构中DAL层中的代码:

//轮播图
public static SqlDataReader SelectTbLunBo()
{
    //控制只能显示前八类
    string sql = $"select TOP 8 * from LunBo";
    //调用连接查询
    return DBHelper.GetDataReader(sql);
}

——评论中有好多想看我的数据库,模型层也没有放出,现在我把模型层的代码放出来,数据库表的结构也同模型。如果还不明白可以找我,想要数据库也可以找我。

namespace Model
{
    public class TbLunBo
    {
        public int ID { get; set; }
        public int LunBoID { get; set; }
        public string img { get; set; }
        public string GuanjianName { get; set; }
    }
}

到此就完整的一个轮播图就做成了,大家可以直接改变数据库的路径就可以更换图片啦!

在这里插入图片描述
感谢大佬指正 小Monkey
如果你觉得有用的话,就留个赞吧!蟹蟹

  • 22
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 31
    评论
以下是基于C#+asp.net+sqlserver的商店积分管理系统的设计与实现详细步骤: 1. 确定需求:商店积分管理系统需要实现积分的增加、减少、查询等功能,需要有管理员和用户两种角色,管理员可以对用户进行管理和积分操作,用户可以查询和使用自己的积分。 2. 数据库设计:根据需求设计数据库表,包括用户表、管理员表和积分记录表。其中用户表包含用户ID、用户名、密码、手机号码等信息;管理员表包含管理员ID、管理员名、密码等信息;积分记录表包含用户ID、积分变化、变化时间等信息。 3. 创建项目:使用Visual Studio创建ASP.NET Web Application项目,并选择MVC模板。 4. 创建模型:在Models文件夹下创建模型类,包括用户类、管理员类和积分记录类,每个类对应一个数据库表。 5. 创建控制器:在Controllers文件夹下创建控制器类,包括用户控制器和管理员控制器。控制器类中包含各种方法,用于处理用户请求并返回相应的视图。 6. 创建视图:在Views文件夹下创建各种视图,包括登录视图、注册视图、积分查询视图、积分变更视图等。视图中包含HTML和Razor语法,用于展示数据和接收用户输入。 7. 编写业务逻辑:在App_Code文件夹下创建业务逻辑类,包括用户管理类和积分管理类。业务逻辑类中实现各种数据操作方法,包括用户注册、登录、查询积分、增加积分、减少积分等。 8. 配置数据库连接:在Web.config文件中配置数据库连接字符串,以便应用程序能够连接到数据库。 9. 运行程序:在Visual Studio中按下F5键运行程序,测试各种功能是否正常。 10. 部署程序:将程序部署到服务器上,让用户可以通过浏览器访问。部署时需要将Web.config中的数据库连接字符串修改为服务器的数据库连接字符串。 以上是基于C#+asp.net+sqlserver的商店积分管理系统的设计与实现详细步骤。
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猴麦麦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值