程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.NET筆記之文章發布管理小系統案例

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;
                 }
             }
         }
     }
 }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved