ASP.NET笔记之文章发布管理小系统案例

时间:2022-09-17 23:31:14

母版页: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" /> 母版页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 /> 文章详情后台代码: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;
                 }
             }
         }
     }
 }