ASP.NET笔记之文章发布管理小系统案例
时间:2021-07-01 10:21:17
帮助过:9人阅读
母版页:SiteFont.Master
代码如下:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="SiteFont.master.cs" Inherits="协同企业管理系统.SiteFont" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="css/main.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">
// $(function () {
// $("#nav li").mouseenter(function () {
// $(this).addClass("active").siblings().removeClass("active")
// });
// });
</script>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div id="mainBox">
<div id="header">
<img src="~/image/banner.jpg" runat="server" alt=""/>
<ul id="nav">
<li>我的首页 |</li>
<li>关于我们 |</li>
<li>资源下载 |</li>
<li>我的收藏 |</li>
<li>文章动态 |</li>
<li>关于我们</li>
</ul>
</div>
<br class="clear"/>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
<div id="footer">
<br class="clear"/>
<hr />
<center>
智慧协同版权所有 2013-2013 粤A
</center>
</div>
</div>
</form>
</body>
</html>
母版页CSS文件:main.css
代码如下:
body {
}
.clear
{
clear:both;}
#mainBox
{
width:950px;
margin-left:auto;
margin-right:auto;}
#nav
{
list-style-type:none;
background-color:inherit;
}
#nav LI
{
float:left;
margin-right:20px;
font-size:large;
}
#nav .active
{
background-color:Red;
}
主页面:News_admin.aspx
代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="News_admin.aspx.cs" Inherits="协同企业管理系统.admin.News_admin" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ObjectDataSource ID="obdNews" runat="server" DeleteMethod="Delete"
InsertMethod="Insert" OldValuesParameterFormatString="original_{0}"
SelectMethod="GetData"
TypeName="协同企业管理系统.DAL.DataSetNewsTableAdapters.T_NewsTableAdapter"
UpdateMethod="Update">
<DeleteParameters>
<asp:Parameter Name="Original_ID" Type="Int64" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="ID" Type="Int64" />
<asp:Parameter Name="sTitle" Type="String" />
<asp:Parameter Name="sContent" Type="String" />
<asp:Parameter Name="SbuildDate" Type="String" />
<asp:Parameter Name="iType" Type="Int32" />
<asp:Parameter Name="sUser" Type="String" />
<asp:Parameter Name="sNote" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="sTitle" Type="String" />
<asp:Parameter Name="sContent" Type="String" />
<asp:Parameter Name="SbuildDate" Type="String" />
<asp:Parameter Name="iType" Type="Int32" />
<asp:Parameter Name="sUser" Type="String" />
<asp:Parameter Name="sNote" Type="String" />
<asp:Parameter Name="Original_ID" Type="Int64" />
</UpdateParameters>
</asp:ObjectDataSource>
<a href="News_add.aspx?flag=add">发布文章</a>
<asp:ListView ID="ListView1" runat="server" DataKeyNames="ID"
DataSourceID="obdNews">
<EmptyDataTemplate>
<table runat="server"
style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;">
<tr>
<td>
暂时没有文章</td>
</tr>
</table>
</EmptyDataTemplate>
<ItemTemplate>
<tr style="background-color: #FFFBD6;color: #333333;">
<td>
<asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" />
<a href='News_add.aspx?flag=edit&id=<%# Eval ("ID") %>' >修改</a>
</td>
<td>
<asp:Label ID="sTitleLabel" runat="server" Text='<%# Eval("sTitle") %>' />
</td>
<td>
<asp:Label ID="SbuildDateLabel" runat="server"
Text='<%# Eval("SbuildDate") %>' />
</td>
<td>
<asp:Label ID="iTypeLabel" runat="server" Text='<%# Eval("iType") %>' />
</td>
<td>
<asp:Label ID="sUserLabel" runat="server" Text='<%# Eval("sUser") %>' />
</td>
</tr>
</ItemTemplate>
<LayoutTemplate>
<table runat="server">
<tr runat="server">
<td runat="server">
<table ID="itemPlaceholderContainer" runat="server" border="1"
style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;font-family: Verdana, Arial, Helvetica, sans-serif;">
<tr runat="server" style="background-color: #FFFBD6;color: #333333;">
<th runat="server">
</th>
<th runat="server">
sTitle</th>
<th runat="server">
SbuildDate</th>
<th runat="server">
iType</th>
<th runat="server">
sUser</th>
</tr>
<tr ID="itemPlaceholder" runat="server">
</tr>
</table>
</td>
</tr>
<tr runat="server">
<td runat="server"
style="text-align: center;background-color: #FFCC66;font-family: Verdana, Arial, Helvetica, sans-serif;color: #333333;">
</td>
</tr>
</table>
</LayoutTemplate>
</asp:ListView>
</form>
</body>
</html>
文章列表页面:News_list.aspx
代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="News_list.aspx.cs" Inherits="协同企业管理系统.admin.News_list" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ObjectDataSource ID="obdNewslist" runat="server" DeleteMethod="Delete"
InsertMethod="Insert" OldValuesParameterFormatString="original_{0}"
SelectMethod="GetDataPage" SelectCountMethod="NewsQuery"
TypeName="协同企业管理系统.DAL.DataSetNewsTableAdapters.T_NewsTableAdapter"
UpdateMethod="Update" EnablePaging="True">
<DeleteParameters>
<asp:Parameter Name="Original_ID" Type="Int64" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="sTitle" Type="String" />
<asp:Parameter Name="sContent" Type="String" />
<asp:Parameter Name="SbuildDate" Type="String" />
<asp:Parameter Name="iType" Type="Int32" />
<asp:Parameter Name="sUser" Type="String" />
<asp:Parameter Name="sNote" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="sTitle" Type="String" />
<asp:Parameter Name="sContent" Type="String" />
<asp:Parameter Name="SbuildDate" Type="String" />
<asp:Parameter Name="iType" Type="Int32" />
<asp:Parameter Name="sUser" Type="String" />
<asp:Parameter Name="sNote" Type="String" />
<asp:Parameter Name="Original_ID" Type="Int64" />
</UpdateParameters>
</asp:ObjectDataSource>
</div>
<asp:ListView ID="ListView1" runat="server" DataKeyNames="ID"
DataSourceID="obdNewslist">
<EmptyDataTemplate>
暂时没有文章
</EmptyDataTemplate>
<ItemTemplate>
<li><a href='News_detail.aspx?ID=<%#Eval("ID")%>'><%#Eval ("sTitle") %></a></li>
</ItemTemplate>
<LayoutTemplate>
<ul>
<asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
</ul>
<%-- QueryStringField 传页数参数名字--%>
<asp:DataPager ID="DataPager1" runat="server" PageSize="5" QueryStringField="pageName">
<Fields>
<asp:NextPreviousPagerField ButtonType="Link" ShowFirstPageButton="True"
ShowLastPageButton="false" ShowNextPageButton="false"
ShowPreviousPageButton="true"/>
<asp:NumericPagerField></asp:NumericPagerField>
<asp:NextPreviousPagerField ButtonType="Link" ShowFirstPageButton="false"
ShowLastPageButton="True" ShowPreviousPageButton="false" ShowNextPageButton="true" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
</asp:ListView>
</form>
</body>
</html>
添加/修改文章页面:News_add.aspx
代码如下:
<%@ Page Language="C#" AutoEventWireup="true"ValidateRequest="false" CodeBehind="News_add.aspx.cs" Inherits="协同企业管理系统.admin.News_add" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script src="js/ckeditor/ckeditor.js" type="text/javascript"></script>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text="标题">
</asp:Label><asp:TextBox ID="txtTitle"
runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label2" runat="server" Text="正文"></asp:Label>
<asp:TextBox ID="txtContent" CssClass="ckeditor"
runat="server" TextMode="MultiLine"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnSave" runat="server" Text="保存" onclick="btnSave_Click" />
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
添加/修改文章后台代码:News_add.aspx.cs
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using 协同企业管理系统.DAL.DataSetNewsTableAdapters;
namespace 协同企业管理系统.admin
{
public partial class News_add : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
//传入参数
var flag = Request["flag"];
if (flag == "add") { }
//如果是表示修改的参数,则根据ID获取数据库中的数据
//显示在修改页面上
else if (flag == "edit") {
int ID = Convert.ToInt32(Request["ID"]);
var NewsRow = new T_NewsTableAdapter().GetDataById(ID).Single();
txtContent.Text = NewsRow.sContent;
txtTitle.Text = NewsRow.sTitle;
}
else { throw new Exception("参数传入有误"); }
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
if (!IsValid) {
return;
}
//保存
string flag = Request["flag"];
if (flag == "add") {
string nowTime=System.DateTime.Now.ToString("G");
new T_NewsTableAdapter().Insert(txtTitle.Text, txtContent.Text, nowTime,1,"admin","无");
}
else if(flag=="edit"){
int ID=Convert.ToInt32(Request["ID"]);
var newsRow=new T_NewsTableAdapter().GetDataById(ID).Single();
newsRow.sContent=txtContent.Text;
newsRow.sTitle=txtTitle.Text;
new T_NewsTableAdapter().Update(newsRow);
}
Response.Redirect("News_admin.aspx");
}
}
}
文章详情页面:News_detail.aspx
代码如下:
<%@ Page Title="" Language="C#" MasterPageFile="~/SiteFont.Master" AutoEventWireup="true" CodeBehind="News_detail.aspx.cs" Inherits="协同企业管理系统.admin.News_detail" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<center><h2><asp:Literal ID="Literal1" runat="server" ></asp:Literal></h2></center>
<p style="float:right">作者:<asp:Literal ID="Literal2" runat="server"></asp:Literal>
发布日期:<asp:Literal ID="Literal3" runat="server"></asp:Literal></p>
<br class="clear" />
<p><asp:Literal ID="Literal4" runat="server"></asp:Literal></p>
</asp:Content>
文章详情后台代码:News_detail.aspx.cs
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using 协同企业管理系统.DAL.DataSetNewsTableAdapters;
namespace 协同企业管理系统.admin
{
public partial class News_detail : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
int ID = Convert.ToInt32(Request["ID"]);
var NewsTable = new T_NewsTableAdapter().GetDataById(ID);
if (NewsTable.Count <= 0)
{
Literal1.Visible = false;
Literal2.Visible = false;
Literal3.Visible = false;
Literal4.Text = "找不到指定新闻,请查看其它新闻。";
}
else if(NewsTable.Count>0) {
var NewsRows = NewsTable.Single();
Literal1.Text=NewsRows.sTitle;
Literal2.Text = NewsRows.sUser;
Literal3.Text = NewsRows.SbuildDate;
Literal4.Text = NewsRows.sContent;
}
}
}
}
}
在ascx文件中使用Repeater动态加载数据:News_Tablist.ascx
代码如下:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="News_Tablist.ascx.cs" Inherits="协同企业管理系统.admin.News_Tablist" %>
<asp:Repeater ID="Repeater1" runat="server" >
<HeaderTemplate><ul></HeaderTemplate>
<ItemTemplate><li>标题:<%# Eval("sTitle")%></li></ItemTemplate>
<FooterTemplate></u1></FooterTemplate>
</asp:Repeater>
News_Tablist.ascx.cs
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using 协同企业管理系统.DAL.DataSetNewsTableAdapters;
namespace 协同企业管理系统.admin
{
public partial class News_Tablist : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
Response.Write("3333");
var data = new T_NewsTableAdapter().GetDataByiType(iType);
Repeater1.DataSource = data;
Repeater1.DataBind();
}
}
public int iType
{
get;
set;
}
}
}
附件上传页面:Pic_load.aspx
代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Pic_load.aspx.cs" Inherits="协同企业管理系统.admin.Pic_load" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</div>
</form>
</body>
</html>
附件上传后台代码:Pic_load.aspx.cs
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
namespace 协同企业管理系统.admin
{
public partial class Pic_load : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
FileUpload fileload = (FileUpload)form1.FindControl("FileUpload1");
if (fileload.HasFile) {
//校验文件类型
string ext = Path.GetExtension(fileload.FileName).ToLower();
Response.Write(ext);
if (ext == ".jpg" || ext == ".jpeg" || ext == ".gif" || ext == ".png")
{
Response.Write("sucess");
//全路径。根目录
fileload.SaveAs(Server.MapPath("~/image/" + fileload.FileName));
}
else
{
ClientScript.RegisterStartupScript(GetType(), "alert", "alert('只允许上传jpg/jpeg/gif/png文件');", true);
return;
}
}
}
}
}