ASP.NET笔记之文章发布管理小系统案例 |
本文标签:ASP.NET,文章发布管理 母版页: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; } } } } } |