ASP.Net实现商品照片显示(三层架构)

演示功能:

点击启动生成页面

步骤:

1、建文件

下图是三层架构列表,Models里面有模拟数据库中列的类,DAL中有DBHelper和service,BLL中有BllManager文件用于ui界面直接调用,其中img文件用户储存照片,数据库中直接存照片地址

2、添加引用关系

DAL引用Models文件,BLL引用DAL和Models文件,主文件WebApplication1引用Bll和Models

3、根据数据库中的列写Models下的XueshengModels类

cs 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Models
{
   public  class NewModels
    {
        private string newID;

        public string NewID
        {
            get { return newID; }
            set { newID = value; }
        }
        private string newTitle;

        public string NewTitle
        {
            get { return newTitle; }
            set { newTitle = value; }
        }
        private string newsContent;

        public string NewsContent
        {
            get { return newsContent; }
            set { newsContent = value; }
        }
        private string typeType;

        public string TypeType
        {
            get { return typeType; }
            set { typeType = value; }
        }
        private string publisher;

        public string Publisher
        {
            get { return publisher; }
            set { publisher = value; }
        }
        private string pubTime;

        public string PubTime
        {
            get { return pubTime; }
            set { pubTime = value; }
        }
        private string imgUrl;

        public string ImgUrl
        {
            get { return imgUrl; }
            set { imgUrl = value; }
        }

    }
}

4、DAL下的DBHelper(对数据库进行操作)

cs 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace DAL
{
   public class DBHelper
    {
       public static string connstr = "server=.;database=Info;uid=sa;pwd=123123";
       public static SqlConnection conn = null;
       public static void Connect() {
           if ( conn==null)
           {
               conn = new SqlConnection(connstr);
           }
           conn.Close();
           conn.Open();

       }
       public static bool NoQuery(string sql) {
           Connect();
           SqlCommand cmd = new SqlCommand(sql,conn);
        int temp=   cmd.ExecuteNonQuery();
           conn.Close();
           return temp>0;
       }
       public static SqlDataReader Reader(string sql)
       {
           Connect();
           SqlCommand cmd = new SqlCommand(sql, conn);
           return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
       }
   }
}

5、DAL数据访问层下的service文件

cs 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace DAL
{
  public  class SeviceDAL
    {
      public static List<Models.NewModels> Query() {
          string sql = "select * from New";
         SqlDataReader reader= DBHelper.Reader(sql);
         List<Models.NewModels> list = new List<Models.NewModels>();
         while (reader.Read())
         {
           Models.NewModels model=new Models.NewModels();
           model.NewID = reader["NewID"].ToString();
           model.NewsContent = reader["NewsContent"].ToString();
           model.NewTitle = reader["NewTitle"].ToString();
           model.Publisher = reader["Publisher"].ToString();
           model.TypeType = reader["TypeType"].ToString();
           model.PubTime = reader["PubTime"].ToString();
           model.ImgUrl = reader["ImgUrl"].ToString();
           list.Add(model);

         }
         return list;


      }
    }
}

6、BLL业务逻辑层下调用DAL的文件

cs 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Bll
{
   public  class BllManager
    {
       public static List<Models.NewModels> Query() {
           return DAL.SeviceDAL.Query();
       }
    }
}

7、ui表现层主界面前端部分

cs 复制代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Index.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Repeater ID="Repeater1" runat="server">
            <HeaderTemplate>
                <table border="1">
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                     <td><%#Eval("NewID") %></td>
                         <td><%#Eval("NewTitle") %></td>
                     <td><%#Eval("NewsContent") %></td>
                     <td><img src='Img/<%#Eval("ImgUrl") %>' width="60px" height="50px"/></td>
                     <td><%#Eval("TypeType") %></td>
                     <td><%#Eval("Publisher") %></td>
                     <td><%#Eval("PubTime") %></td>
                </tr>
            </ItemTemplate>
            <FooterTemplate>
                </table>
            </FooterTemplate>
        </asp:Repeater>
    </div>
    </form>
</body>
</html>

8、ui表现层主界面后端部分

cs 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Index
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
      List<Models.NewModels> list=     Bll.BllManager.Query();
      this.Repeater1.DataSource = list;
      this.Repeater1.DataBind();
        }
    }
}
相关推荐
想摆烂的不会研究的研究生6 小时前
每日八股——Redis(1)
数据库·经验分享·redis·后端·缓存
码熔burning6 小时前
MySQL 8.0 新特性爆笑盘点:从青铜到王者的骚操作都在这儿了!(万字详解,建议收藏)
数据库·mysql
猫头虎6 小时前
2025最新OpenEuler系统安装MySQL的详细教程
linux·服务器·数据库·sql·mysql·macos·openeuler
哈库纳玛塔塔7 小时前
放弃 MyBatis,拥抱新一代 Java 数据访问库
java·开发语言·数据库·mybatis·orm·dbvisitor
@LetsTGBot搜索引擎机器人8 小时前
2025 Telegram 最新免费社工库机器人(LetsTG可[特殊字符])搭建指南(含 Python 脚本)
数据库·搜索引擎·机器人·开源·全文检索·facebook·twitter
计算机毕设VX:Fegn08959 小时前
计算机毕业设计|基于springboot + vue动物园管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
冉冰学姐9 小时前
SSM校园排球联赛管理系统y513u(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架应用·开题报告、
Tony Bai9 小时前
【分布式系统】03 复制(上):“权威中心”的秩序 —— 主从架构、一致性与权衡
大数据·数据库·分布式·架构
实战项目10 小时前
ASP.NET实现的房产中介管理系统设计
后端·asp.net
wb0430720110 小时前
SQL工坊不只是一个ORM框架
数据库·sql