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

(0)

相关推荐

  • ASP.NET程序发布详细过程

    前言 ASP.NET网站的发布,无论是初学者还是高手,在程序的发布过程中或多或少会存在一些问题,譬如VS发布ASP.NET程序失败.IIS安装失败.IIS发布失败.局域网内不能访. 配置文件错误.权限不足等一系列问题,结合我带领的500多人的技术团队反应的各种问题,我今天花点时间总结一下,方便大家,共同学习,共同进步. 为了后文的深入详细分析,我写了一个小Demo,代码附上.本次基于VS2013,OS为WIN10,IIS7等环境讲解.(其他操作系统如WIN7原理也类似,但有细微差别) 1.解决方

  • 简析ASP.NET网站的创建与发布过程

    一.简单网站创建: 1.首先打开VS, 2.文件-->新建-->网站-->ASP.NET(注意语言选择c#)-->对项目进行命名,这里命名为hopeTest: 3.系统会默认生成一个Default.aspx文件,文件内容如下: <%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PU

  • ASP.NET MVC3网站创建与发布(1)

    有时候我们有了网站但是却不知道怎么进行发布,这一节我们演示下怎样使用VS2010创建与发布MVC3建立的网站.使用VS2010创建MVC3.0网站,需要下载MVC3.0的安装包,这个大家可以去网络上下载. 1.项目创建 打开VS2010,选择 文件--新建项目---ASP.NET MVC3 web应用程序,如下图  接着选择Razor视图,如下图,点击确定,这样一个MVC3项目就创建完成了  2.网站发布    右键选择刚创建的项目,弹出一个下拉菜单,选择 "发布"菜单,弹出 &quo

  • Asp.net Core 初探(发布和部署Linux)

    前言 俗话说三天不学习,赶不上刘少奇.Asp.net Core更新这么长时间一直观望,周末帝都小雨,宅在家看了下Core Web App,顺便搭建了个HelloWorld环境来尝尝鲜,第一次看到.Net Web运行在Linux上还是有点小激动(只可惜微软走这一步路走的太晚,要不然屌丝们也不会每每遇见Java VS .Net就想辩论个你死我活). 开发环境和部署环境 Windows 10.VS2015 Update3.安装.Net Core SDK.DotNetCore.1.0.1-VS2015T

  • 解读ASP.NET 5 & MVC6系列教程(3):项目发布与部署

    本章我们将讲解ASP.NET5项目发布部署相关的内容,示例项目以我们前一章创建的BookStore项目为例. 发布前的设置 由于新版ASP.NET5支持多版本DNX运行环境的发布和部署,所以在部署之前,我们需要设定部署的目标DNX(即之前的KRE). 步骤:右键BookStore项目->属性->Application选项卡,选择DNX的版本,本例中,选择dnx-coreclr-win-x64.1.0.0-beta4. 在project.json文件的commands节点,我们可以看到,系统默认

  • 详解Asp.Net Core 发布和部署( MacOS + Linux + Nginx )

    前言 在上篇文章中,主要介绍了 Dotnet Core Run 命令,这篇文章主要是讲解如何在Linux中,对 Asp.Net Core 的程序进行发布和部署. 目录 新建一个 WebApp 项目 发布到 Linux,Mac OS 使用 Nginx 进行反向代理 新建一个 WebApp 项目 在 Asp.Net Core 项目中,我们使用 dotnet new -t WebApp 命令和创建一个新的空的 Web 应用程序. 以下是我在 Mac 中的截图: 主要是用以下几个命令: mkdir He

  • 关于有些Asp.net项目发布后出现网址乱码的解决方法

    当我输入网站域名,打开网页后url中会跟一段"乱码" 复制代码 代码如下: http://www.XXXX.com/(S(jnzpixfqi5rge5rnl45vdb45))/index.aspx 最后在查看web.config时看到了一句 <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="d

  • asp.net程序在调式和发布之间图片路径问题的解决方法

    服务器控件显示图片问题不大,会自动显示相对位置, 非服务器控件有两种方法解决: 1. Request.ApplicationPath + 图片路径(images/xxx.gif) : 数据库里 图片路径以文件夹名开头 2. ResolveClientUrl("(~/images/xxx.gif") : 数据库里 图片路径为(~/开头) 注意: ResolveClientUrl 返回相对于当前页面下文件的地址 ResolveUrl 则返回页面所在应用程序下的相对地址

  • 使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目

    Grunt 简介 Grunt是一款基于js和node.js的构建工具,由于这段时间node.js越来越火爆,grunt拥有丰富的开源社区支持,产生了很多插件.还有一些插件散落在node社区.构建是一个和宽泛的表述,传统理解就是编译.打包.复制,而今,随着技术越来越丰富,构建还包括对前端组件的预处理,比如sass.less预处理成css,css和js的压缩和合并.grunt的插件可以很好的支持这些新的构建概念,而且更为适合用开源技术堆砌的项目. 虽然Grunt更多的用于程序构建,但是本质上Grun

  • 解决asp.net Sharepoint无法连接发布自定义字符串处理程序,不能进行输出缓存处理的方法

    问题描述: 无法连接发布自定义字符串处理程序,不能进行输出缓存处理.IIS 实例 ID 为"1772638466", URL 为"http://XXXX.XXX.XXX/EnglishWorld/Default.aspx". 有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心. 在系统日志大片出现(除了URL不同),但貌似对系统没什么影响,能正常使用. 此问题不会影响正常使用,但日志很快就满了

随机推荐