实现一个简单的新闻发布系统

有登录 注册 添加新闻 浏览新闻 评论新闻 新闻列表 这些基本功能

使用asp.net webform

首先是登录页

        protected void Button1_Click(object sender, EventArgs e)
{
string name = this.TextBox1.Text.Trim();
string pwd = this.TextBox2.Text.Trim();
if (name=="bamn"&&pwd=="")
{
Session["user"] = name;
Response.Redirect("/");
}
Response.Write("账号或者密码不正确");
Response.End();
}

上面是按钮事件,简单判断密码和账号,登录成功写入session,跳转到首页,否则输入提示

然后我们添加注册页

        protected void Button1_Click(object sender, EventArgs e)
{
string name = this.TextBox1.Text.Trim();
string pwd = this.TextBox2.Text.Trim();
string pwd2 = this.TextBox3.Text.Trim();
if (name == "" || pwd == "")
{
ShowInfo("输入不正确");
}
else if (pwd != pwd2)
{
ShowInfo("两次密码一样");
}
//正常开发的话,这里面应该是添加到数据库中的
//我们这里就简单当做保存了 跳转到登录页
Response.Redirect("/");
} private void ShowInfo(string info)
{
Response.Write(info);
Response.End();
}

然后就是发布新闻页了

       protected void Button1_Click(object sender, EventArgs e)
{
//先判断输入是否正确
//我们这里由于没有数据库,所以这里就使用配置文件 序列化
string content = this.TextBox1.Text.Trim();
string title = this.TextBox2.Text.Trim();
if (content == "" || title == "")
{
ShowInfo("输入不正确");
}
News news = new News();
news.Content = content;
news.Title = title;
string guid = System.Guid.NewGuid().ToString();
news.Guid = guid;
news.Date = DateTime.Now.ToString();
string json = new JavaScriptSerializer().Serialize(news);
string path = Server.MapPath("~/") + "jsons\\" + guid + ".json" ;
File.WriteAllText(path, json);
Response.Redirect("/");
} public class News
{
public string Date { set; get; }
public string Title { set; get; }
public string Content { set; get; }
public string Guid { get; set; }
}

我们这里是通过序列化保存成json文件,到jsons的目录下面

然后就是到首页了,首页我们现实列表

<form id="form1" runat="server">
<div>
<asp:Repeater ID="RepeaterNews" runat="server">
<ItemTemplate>
<div class="movies">
<a href="/view.aspx?guid=<%#Eval("Guid") %>"><%#Eval("Title") %></a>
<label><%#Eval("Date") %></label>
</div>
</ItemTemplate>
</asp:Repeater>
</div>
</form> protected void Page_Load(object sender, EventArgs e)
{
RepeaterNews.DataSource = GetNewList();
RepeaterNews.DataBind();
} private List<News> GetNewList()
{
//获取文件列表
string[] files = Directory.GetFiles(Server.MapPath("~/") + "jsons\\");
List<News> newsList = new List<News>();
for (int i = ; i < files.Count(); i++)
{
string content = File.ReadAllText(files[i]);
News news = new JavaScriptSerializer().Deserialize<News>(content);
newsList.Add(news);
}
return newsList;
}

下面再到详细页

 <form id="form1" runat="server">
<div>
<asp:Label ID="LabelTitle" runat="server"></asp:Label><br />
<asp:Label ID="LabelContent" runat="server"></asp:Label><br />
<asp:Label ID="LabelDate" runat="server"></asp:Label><br />
</div>
</form> protected void Page_Load(object sender, EventArgs e)
{
string guid = Request.QueryString["guid"];
string path = Server.MapPath("~/") + "jsons\\" + guid + ".json";
string json = File.ReadAllText(path);
News news = new JavaScriptSerializer().Deserialize<News>(json);
this.LabelContent.Text = news.Content;
this.LabelTitle.Text = news.Title;
this.LabelDate.Text = news.Date;
}

到现在为止,我们基本实现了一个新闻发布 列表 预览 注册 登录的简单功能

本集和AWVS没什么关系,主要是我们想通过这个程序来,测试我们的AWVS漏洞功能

希望对你有帮助,更多课程可以访问www.bamn.cn

AWVS漏洞测试-02节-添加一个简单的新闻系统的更多相关文章

  1. AWVS漏洞测试-03节-添加扫描项目

    http://localhost:9660 我们要扫描这个页面 点击左上角的New Scan,在Scan Single哪里输入要扫描的网站地址,可以是本地地址 然后选择下一步 Next 这里我们可以配 ...

  2. AWVS漏洞测试-01节-AWVS的主要作用

    AWVS漏洞工具简单介绍 AWVS全称: Acunetix Web Vulnerability Scanner 中文翻译就是:Acunetix网站攻击扫描器 扫描网站漏洞,通过网络爬虫Crawler的 ...

  3. 一个简单的CS系统打包过程图文版

    一个简单的CS系统打包过程图文版 1.     打包内容 1.1.  此次打包的要求和特点 主工程是一个CS系统: 此CS系统运行的先决条件是要有.Net Framework 3.5: 主工程安装完成 ...

  4. Linux下一个简单的日志系统的设计及其C代码实现

    1.概述 在大型软件系统中,为了监测软件运行状况及排查软件故障,一般都会要求软件程序在运行的过程中产生日志文件.在日志文件中存放程序流程中的一些重要信息, 包括:变量名称及其值.消息结构定义.函数返回 ...

  5. Linux内核分析— —构造一个简单的Linux系统MenuOS(20135213林涵锦)

    Linux内核分析— —构造一个简单的Linux系统MenuOS 实验内容 Linux内核的启动过程,从start_kernel到init进程启动 使用实验楼的虚拟机打开shell cd LinuxK ...

  6. Linux第三周学习总结——构造一个简单的Linux系统MenuOS

    第三周学习总结--构造一个简单的Linux系统MenuOS 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/ ...

  7. Linux内核设计第三周——构造一个简单的Linux系统

    Linux内核设计第三周 ——构造一个简单的Linux系统 一.知识点总结 计算机三个法宝: 存储程序计算机 函数调用堆栈 中断 操作系统两把宝剑: 中断上下文的切换 进程上下文的切换 linux内核 ...

  8. 《Linux内核分析》第三周 构建一个简单的Linux系统MenuOS

    [刘蔚然 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] WEEK THREE ...

  9. 第三节 构造一个简单的Linux系统MenuOS——20135203齐岳

    第三节 构造一个简单的Linux系统MenuOS By 20135203齐岳 Linux内核源代码 arch/ 支持不同cpu的源代码 Documentations/ 文档存储 init/ 内核启动相 ...

随机推荐

  1. MySQL主从复制、半同步复制和主主复制

    同步,异步,半同步复制的比较: 同步复制:Master提交事务,直到事务在所有的Slave都已提交,此时才会返回客户端,事务执行完毕.缺点:完成一个事务可能会有很大的延迟. 异步复制:当Slave准备 ...

  2. git -- 出现冲突的情况

    以下三点可能会出现冲突: 1 修改了同一个文件的同一行: 2 文件被重命名为不同的名字: 3 在一个分支上文件被删除,在另一个分支上文件被修改.

  3. 取td里面的内容

    var rowLength = document.getElementById("table名字").rows.length;   for(var i=0;i<rowLeng ...

  4. Linux内核--网络栈实现分析(一)--网络栈初始化

    本文分析基于内核Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7488828 更多请看专栏, ...

  5. python数据持久存储:pickle模块的基本使用

    经常遇到在Python程序运行中得到了一些字符串.列表.字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据. 这个时候Pickle模块就派上用场了,它可以将对象转换 ...

  6. 利用扩展事件(Xevents)捕捉高消耗查询

    生产环境中有时需要使用者抓取一些特定的语句分析,如超超长查询,或高IO查询等.一般来说大家对跟踪比较熟悉,主要因为其有完善的UI支持.由于扩展事件在sql2012才提供UI支持,所以虽然在08时就已经 ...

  7. 用c#开发微信 (12) 微统计 - 阅读分享统计系统 2 业务逻辑实现

    微信平台自带的统计功能太简单,有时我们需要统计有哪些微信个人用户阅读.分享了微信公众号的手机网页,以及微信个人用户访问手机网页的来源:朋友圈分享访问.好友分享消息访问等.本系统实现了手机网页阅读.分享 ...

  8. Dynamic CRM 2013学习笔记(四十四)CRM技术支持

    有时我们经常遇到一些CRM的问题,一时又无法解决,这时我们可能要找下外援,下面列出一些基本的技术支持.   1. CRM 论坛 https://community.dynamics.com/crm/f ...

  9. Android资源命名规范

    Android资源命名规范 命名模板为:缩写_主界面_功能部分(一) 缩写:ic ----------------------iconbg---------------------background ...

  10. Twitter API升级至1.1

    Twitter API 1.1是至今最大的一次升级,从3月份提出,到6月11日1.0版本已经全面停止调用.关于1.1版本升级特性可访问: https://dev.twitter.com/docs/ap ...