ASP.Net实现新闻添加查询(三层架构,含照片)

目录

演示功能:

点击启动生成页面

 点击搜索模糊查询

点击添加跳转新界面

​编辑

点击Button添加

步骤:

1、建文件

​编辑

2、添加引用关系

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

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

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

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

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

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

9、ui表现层添加界面前端部分

10、ui表现层添加界面后端部分


演示功能:

点击启动生成页面

 点击搜索模糊查询

点击添加跳转新界面

 此处设置文本框多行

点击Button添加

步骤:

1、建文件

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

建照片文件夹用于展示图片,数据库存地址 

2、添加引用关系

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

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Models
{public   class NewsModels{private string newsID;public string NewsID{get { return newsID; }set { newsID = value; }}private string newsTitle;public string NewsTitle{get { return newsTitle; }set { newsTitle = value; }}private string newsContent;public string NewsContent{get { return newsContent; }set { newsContent = value; }}private string type;public string Type{get { return type; }set { type = value; }}private string publisher;public string Publisher{get { return publisher; }set { publisher = value; }}private string pian;public string Pian{get { return pian; }set { pian = value; }}private string pubTime;public string PubTime{get { return pubTime; }set { pubTime = value; }}}
}

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

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=NewsDB;uid=sa;pwd=123123";public static SqlConnection conn = null;public static void Conncet() {if (conn==null){conn=new SqlConnection(connstr);}conn.Close();conn.Open();}public static bool NoQuery(string sql) {Conncet();SqlCommand cmd = new SqlCommand(sql,conn);int temp=  cmd.ExecuteNonQuery();conn.Close();return temp > 0;}public static SqlDataReader Reader(string sql) {Conncet();SqlCommand cmd = new SqlCommand(sql, conn);return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);}}
}

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace DAL
{public   class DalService{public static List<Models.NewsModels> Zhanshi() {List<Models.NewsModels> list = new List<Models.NewsModels>();string sql = "select * from News";SqlDataReader read=    DBHelper.Reader(sql);while (read.Read()){Models.NewsModels model=new Models.NewsModels();model.NewsID = read["NewsID"].ToString();model.NewsTitle = read["NewsTitle"].ToString();model.Pian = read["Pian"].ToString();model.Publisher = read["Publisher"].ToString();model.Type = read["Type"].ToString();model.PubTime = read["PubTime"].ToString();model.NewsContent = read["NewsContent"].ToString();list.Add(model);}  return list;}public static List<Models.NewsModels>  Cha(string title){List<Models.NewsModels> list = new List<Models.NewsModels>();string sql = string.Format("select * from News where NewsTitle like '%{0}%'",title);SqlDataReader read = DBHelper.Reader(sql);while (read.Read()){Models.NewsModels model = new Models.NewsModels();model.NewsID = read["NewsID"].ToString();model.NewsTitle = read["NewsTitle"].ToString();model.Pian = read["Pian"].ToString();model.Publisher = read["Publisher"].ToString();model.Type = read["Type"].ToString();model.PubTime = read["PubTime"].ToString();model.NewsContent = read["NewsContent"].ToString();list.Add(model);}return list;}public static bool  Jia(string title,string content,string type,string publisher){string sql=string.Format("insert News values('{0}','{1}','{2}','{3}','Jellyfish.jpg',GETDATE())",title,content,type,publisher);if (DBHelper.NoQuery(sql)){return true;}else{return false;}}}
}

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

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.NewsModels> Zhanshi() {return DAL.DalService.Zhanshi(); }public static bool Jia(string title, string content, string type, string publisher) {return DAL.DalService.Jia(title,content,type,publisher);}public static List<Models.NewsModels> Cha(string title) {return DAL.DalService.Cha(title);}}
}

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

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="Index.Index" %><!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><a href="TianJia.aspx">添加新闻</a><br />    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><asp:Button ID="Button1" runat="server" Text="查询" OnClick="Button1_Click" /><asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand"><HeaderTemplate><table border="1" ><tr><th>新闻ID</th><th>新闻标题	</th> <th>新闻内容	</th> <th>新闻照片</th><th>新闻类型	</th> <th>发布人</th> <th>发布时间</th></tr></HeaderTemplate><ItemTemplate><tr><td ><%#Eval("NewsID") %></td><td ><%#Eval("NewsTitle") %>                      </td><td >                     <%#Eval("NewsContent") %>                     </td><td >                        <img src="Img/<%#Eval("Pian") %>" height="50px" width="50px"/>                      </td><td><%#Eval("Type") %>  </td><td >                      <%#Eval("Publisher") %>                       </td>                    <td ><%#Eval("PubTime") %></td></tr></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:Repeater></div></form>
</body>
</html>

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

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 Index : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){List<Models.NewsModels> list = BLL.BllManager.Zhanshi();Repeater1.DataSource = list;Repeater1.DataBind();}}protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e){}protected void Button1_Click(object sender, EventArgs e){List<Models.NewsModels> list = BLL.BllManager.Cha(TextBox1.Text.ToString());Repeater1.DataSource = list;Repeater1.DataBind();}}
}

9、ui表现层添加界面前端部分

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TianJia.aspx.cs" Inherits="Index.TianJia" %><!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><a href="Index.aspx">返回</a><br />     <asp:Label ID="Label1" runat="server" Text="标题"></asp:Label><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="标题不能为空" ControlToValidate="TextBox1"></asp:RequiredFieldValidator><br />           <asp:Label ID="Label2" runat="server" Text="内容"></asp:Label><asp:TextBox Height="100px" ID="TextBox2" runat="server" TextMode="MultiLine"></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="内容不能为空" ControlToValidate="TextBox2"></asp:RequiredFieldValidator><br />     <asp:Label ID="Label3" runat="server" Text="类型"></asp:Label><asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="类型不能为空" ControlToValidate="TextBox3"></asp:RequiredFieldValidator><br />     <asp:Label ID="Label4" runat="server" Text="发布人"></asp:Label><asp:TextBox ID="TextBox4" runat="server"></asp:TextBox><asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ErrorMessage="发布人不能为空" ControlToValidate="TextBox4"></asp:RequiredFieldValidator><br />         <asp:Button ID="Button1" runat="server" Text="添加" OnClick="Button1_Click" /></div></form>
</body>
</html>

10、ui表现层添加界面后端部分

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 TianJia : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;}protected void Button1_Click(object sender, EventArgs e){if (BLL.BllManager.Jia(TextBox1.Text.ToString(), TextBox2.Text.ToString(), TextBox3.Text.ToString(), TextBox4.Text.ToString())){ClientScript.RegisterStartupScript(this.GetType(), "success", "alert('成功添加');location.href='Index.aspx'",true);}else{ClientScript.RegisterStartupScript(this.GetType(), "fail", "alert('失败');", true);};}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/581268.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3+elementPlus:el-drawer新增修改弹窗复用

在el-drawer的属性里设置:title属性&#xff0c;和重置函数 //html<!-- 弹窗 --><el-drawerv-model"drawer":title"title":size"505":direction"direction":before-close"handleClose"><el-formlabel-posit…

数据挖掘(作业3

任务一 对以下数据集使用K均值聚类算法&#xff1a; 1&#xff09;观察实验结果是否符合预期&#xff1b; 2&#xff09;利用SSE标准确定K值&#xff1b; 3&#xff09;自行调参并观察对聚类结果的影响。 注意&#xff1a;需要把类别信息去掉。 “tutorial3_Data Explorat…

HTTP代理服务器:Go语言下的“网络翻译官”

开场白&#xff1a;在这个全球化的网络时代&#xff0c;有时我们需要一个“翻译官”来帮助不同系统、不同语言进行交流。今天&#xff0c;我们就来探讨如何使用Go语言&#xff0c;轻松实现这样一个角色——HTTP代理服务器&#xff0c;让我们的网络请求更加畅通无阻&#xff01;…

模式识别与机器学习-无监督学习-聚类

无监督学习-聚类 监督学习&无监督学习K-meansK-means聚类的优点&#xff1a;K-means的局限性&#xff1a;解决方案&#xff1a; 高斯混合模型&#xff08;Gaussian Mixture Models&#xff0c;GMM&#xff09;多维高斯分布的概率密度函数&#xff1a;高斯混合模型&#xff…

c语言用四种方式求解成绩之中最高分和最低分的差值

文章目录 一&#xff0c;题目二&#xff0c;方法1&#xff0c;方法一2&#xff0c;方法二3&#xff0c;方法三4&#xff0c;方法四 三&#xff0c;示例结果 一&#xff0c;题目 最高分最低分之差 输入n个成绩&#xff0c;换行输出n个成绩中最高分数和最低分数的差 输入 : 两行…

信息网络协议基础-IPv6协议

文章目录 概述为什么引入IP服务模型IPv4的可扩展性问题解决方法***CIDR(Classless Inter-Domain Routing, 无类别域间寻路)前缀汇聚***前缀最长匹配***NAT(网络地址转换)存在的问题解决方案路由表配置***局限性IPv6协议头标IPv6地址表示前缀类型单播地址链路局部地址(Link-Loca…

浅谈WPF之ToolTip工具提示

在日常应用中&#xff0c;当鼠标放置在某些控件上时&#xff0c;都会有相应的信息提示&#xff0c;从软件易用性上来说&#xff0c;这是一个非常友好的功能设计。那在WPF中&#xff0c;如何进行控件信息提示呢&#xff1f;这就是本文需要介绍的ToolTip【工具提示】内容&#xf…

自动备份B站Up主最新视频到百度网盘的Python脚本详解

自动备份B站Up主最新视频脚本详解&#xff08;Win和Linux有些不同&#xff09; 前言&#xff1a; 次篇文章启发于某些大胆的UP主&#xff08;老马&#xff09;的多次被封&#xff0c;并被下架一些视频。有些人并不能及时观看到&#xff0c;故写一个脚本自动下载最新视频。 &am…

中小企业运营难题:CRM系统为您解决!

​CRM如何帮助中小企业解决业务与团队之间的问题&#xff1f;它可以帮助企业获取潜在客户、数据储存管理、建立标准化流程、减少客户流失、促进客户沟通等。客户关系管理的核心理念要以客户为最主要的资源&#xff0c;提供全面的客户服务&#xff0c;满足客户要求&#xff0c;实…

【信息安全原理】——入侵检测与网络欺骗(学习笔记)

&#x1f4d6; 前言&#xff1a;在网络安全防护领域&#xff0c;防火墙是保护网络安全的一种最常用的设备。网络管理员希望通过在网络边界合理使用防火墙&#xff0c;屏蔽源于外网的各类网络攻击。但是&#xff0c;防火墙由于自身的种种限制&#xff0c;并不能阻止所有攻击行为…

C++构建简单静态库实例(cmakelist)

一、开发实例 通过cmake构建静态开发实例如下: 1.1 代码目录 代码目录结构如下: 1.2 代码内容 1.2.1 CMakeLists.txt # CMake 最低版本要求 cmake_minimum_required(VERSION 3.10)# 项目名称 project(mylib)# 添加源文件 set(SOURCE_FILESsrc/mylib

每日一题(LeetCode)----二叉树-- 二叉树的右视图

每日一题(LeetCode)----二叉树-- 二叉树的右视图 1.题目&#xff08;199. 二叉树的右视图&#xff09; 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,nu…

助力打造清洁环境,基于美团最新YOLOv6-4.0开发构建公共场景下垃圾堆放垃圾桶溢出检测识别系统

公共社区环境生活垃圾基本上是我们每个人每天几乎都无法避免的一个问题&#xff0c;公共环境下垃圾投放点都会有固定的值班时间&#xff0c;但是考虑到实际扔垃圾的无规律性&#xff0c;往往会出现在无人值守的时段内垃圾堆放垃圾桶溢出等问题&#xff0c;有些容易扩散的垃圾比…

Apache Flink连载(十八):Flink On Yarn运行原理及环境准备

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录 1. Flink On Yarn运行原理…

【Pytorch】学习记录分享8——PyTorch自然语言处理基础-词向量模型Word2Vec

【Pytorch】学习记录分享7——PyTorch自然语言处理基础-词向量模型Word2Vec 1. 词向量模型Word2Vec)1. 如何度量这个单词的&#xff1f;2.词向量是什么样子&#xff1f;3.词向量对应的热力图&#xff1a;4.词向量模型的输入与输出![在这里插入图片描述](https://img-blog.csdni…

IT安全:实时网络安全监控

了解庞大而复杂的网络环境并非易事&#xff0c;它需要持续观察、深入分析&#xff0c;并对任何违规行为做出快速反应。这就是为什么实时网络安全监控工具是任何组织 IT 安全战略的一个重要方面。 网络攻击和合规性法规是 IT 安全的两个主要驱动因素。同时&#xff0c;数据泄露…

卷积神经网络 反向传播

误差的计算 softmax 经过softmax处理后所有输出节点概率和为1 损失&#xff08;激活函数&#xff09; 多分类问题&#xff1a;输出只可能归于某一个类别&#xff0c;不可能同时归于多个类别。 误差的反向传播 求w的误差梯度 权值的更新 首先是更新输出层和隐藏层之间的权重…

Oracle数据updater如何回滚

1.查询update语句执行的时间节点 &#xff1b; select t.FIRST_LOAD_TIME, t.SQL_TEXT from v$sqlarea t where to_char(t.FIRST_LOAD_TIME) > 2023-03-19/17:00:00 order by t.FIRST_LOAD_TIME desc;开启表的行迁移 alter table test enable row movement;3.回滚表数据到…

【架构】企业信息安全体系架构详解

企业信息安全体系架构来说,是包含技术、运维、管理3个层面。本文说的安全架构,主要集中讨论偏研发技术层面的安全架构。 安全性是软件研发技术体系,系统架构设计阶段的一个关键DFX能力,与可靠性、可服务性、性能等架构属性并列。由于安全性设计自身的特点,涉及到系统架构…

数据分析之词云图绘制

试验任务概述&#xff1a;如下为所给CSDN博客信息表&#xff0c;分别汇总了ai, algo, big-data, blockchain, hardware, math, miniprog等7个标签的博客。对CSDN不同领域标签类别的博客内容进行词频统计&#xff0c;绘制词频统计图&#xff0c;并根据词频统计的结果绘制词云图。…