一步步打造漂亮的新闻列表(无刷新分页、内容预览)第二步

 更新时间:2010年07月18日 22:42:19   作者:  
由于我们仅仅是项目中的一个小部分,但也差不多按照以上的顺序进行开发,这是一个良好的习惯。我们将概要设计和详细设计放在一起。
 在上一篇文章中,我们进行了需求分析,如下:

1。动态的新闻列表(这个很简单)

2。可以分页读取新闻列表(这个也不难)

3。可以无刷新的分页读取新闻列表(这个稍微有点难度)

4。可以预览新闻的内容(这个也稍微有点难度)

5。界面友好(这个是必须的)

    按照软件工程的顺序,我们应按照这样的顺序开发软件:可行性分析===》需求分析===》概要设计===》详细设计===》编码===》测试

    由于我们仅仅是项目中的一个小部分,但也差不多按照以上的顺序进行开发,这是一个良好的习惯。我们将概要设计和详细设计放在一起。

    下面我们来设计数据库,由于采用的是Access数据库,而且字段也相对简单。就一张表tb_news,数据库名为news。

      名称                                 类型                长度

      news_id                               长整型                       4

      news_title                             文本                       255

      news_content                           内存                         -

      news_time                              日期/时间                     8

      news_readtimes                          长整型                       4

 

当然,你可以根据自己的需要增加字段或减少字段。其中news_content尽可能的长一些,符合新闻的长度。

数据库设计完毕后,我们可以开始编码了。首先建立asp.net项目(我比较偏向于web application,而不是website),将其命名为MyNewsList。如下图所示:

 

 

 如果是用vs2010正式版,创建好后会发现会生成很多文件,它是vs2010自带的有些样式的页面(母版页),有点类似于asp.net mvc。这里我们不需要,将他们删除并且将一些文件夹重命名,将Account文件夹、About.aspx、Default.aspx、Global.asax和site.Mater删掉,并且将Scripts文件夹重命名为js文件夹;将Styles重命名为css文件夹,这样更符合我们的习惯,当然你也可以不改。并且将news数据库文件拷贝至App_Data文件夹。(如果你是vs2008或者其他版本,做类似的操作)最后的列表如下图:

 

ok,地基我们已经搭建好了,现在我们要筑房子了。建立NewsList.aspx页面,这就是我们的新闻列表页面。
在编辑NewsList.aspx之前,我们来先配置一下web.config文件,建立于数据库的连接。将<connectionStrings/>改为:

复制代码 代码如下:

<connectionStrings>
<add name="NewsConnection" connectionString="provider=Microsoft.Jet.OLEDB.4.0 ; Data Source=|DataDirectory|\news.mdb;"/>
</connectionStrings>

我们注意到:Data Source=|DataDirectory|\news.mdb;中的DataDirectory,这就是为什么我们要将数据库文件拷贝到App_Data文件夹下,这样就很方便的调用数据库了,不必为路径的问题而烦恼了。

配好web.config文件后,我们开始设计前台。NewsList.aspx页面前台body的代码如下:
复制代码 代码如下:

<body>
<form id="form1" runat="server">
<div>
<div id="tableData">
<table cellpadding="5" cellspacing="1" width="90%" id="productTable" align="center">
<tr>
<th style="width: 60%">
<a style="cursor: pointer;">新闻的标题</a><span id="productid"></span>
</th>
<th style="width: 10%">
<a style="cursor: pointer;">阅读次数</a><span id="UnitPrice"></span>
</th>
<th style="width: 30%">
<a style="cursor: pointer;">发表</a><span id="Discontinued"></span>
</th>
</tr>
</table>
</div>
<div id="pagination" class="digg">
</div>
</div>
</form>
</body>

我们看到这是一个table,但里面并没有绑定或者写一些代码,这是为了以后使用ajax添加上去。同时我们注意到有这样的一些id
<span id="productid"></span>这是以后使用json绑定是需要的。

现在,我们来写一些后台代码,尝试着连接数据库。为了简单起见,我把连接数据库的代码写到NewsList.aspx的后台代码及NewsList.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.Data.OleDb;
namespace MyNewsList
{
public partial class NewsList : System.Web.UI.Page
{
//数据库连接字符串
public static string connectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["NewsConnection"].ToString();
public static OleDbConnection conn;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
TestConnection();//测试连接数据库
}
}
protected void TestConnection()
{
conn = new OleDbConnection(connectionString);//创建新的连接
try
{
conn.Open();
if (conn.State == System.Data.ConnectionState.Open)
{
Response.Write("数据库连接成功");
}
else
{
Response.Write("连接状态是关闭的");
}
}
catch (Exception e)
{
Response.Write("连接失败,错误原因:"+e.Message);//如果连接失败将错误显示出来
}
finally
{
conn.Close();//一定要及时关掉conn
}
}
}
}

当我们运行页面后发现“数据库连接成功”后,我们才开始下面的code编码。

相关文章

  • ASP.NET Core应用程序配置文件AppSetting.json

    ASP.NET Core应用程序配置文件AppSetting.json

    这篇文章介绍了ASP.NET Core应用程序配置文件AppSetting.json,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-02-02
  • ASP.NET中 Wizard 控件的使用方法

    ASP.NET中 Wizard 控件的使用方法

    简单的讲 Wizard 控件,实现的就是下一步,下一步,提交表单的这样一个步骤。
    2016-04-04
  • 解析ABP框架领域层中的实体类与仓储类

    解析ABP框架领域层中的实体类与仓储类

    基于ASP.NET的ABP框架遵循DDD领域驱动设计,其中就有一个领域层的概念,这里我们就来解析ABP框架领域层中的实体类与仓储类:
    2016-06-06
  • asp.net Timer的使用方法

    asp.net Timer的使用方法

    使用方法很简单,对于需要使用asp.net下timer控件的使用是个不错的例子
    2008-10-10
  • .Net结构型设计模式之代理模式(Proxy)

    .Net结构型设计模式之代理模式(Proxy)

    这篇文章介绍了.Net结构型设计模式之代理模式(Proxy),文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • ASP.NET Core开发Docker部署

    ASP.NET Core开发Docker部署

    这篇文章介绍了ASP.NET Core开发Docker部署的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • ASP.NET MVC模式中应用程序结构详解

    ASP.NET MVC模式中应用程序结构详解

    本文详细讲解了ASP.NET MVC模式中的应用程序结构,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • WPF控件模板与其触发器

    WPF控件模板与其触发器

    这篇文章介绍了WPF控件模板与其触发器,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • asp.net TreeView与XML三步生成列表树

    asp.net TreeView与XML三步生成列表树

    只要三个步骤就可以生成平时很常用的树状列表,看代码就可以明白。
    2013-10-10
  • ASP.NET中Cookie的使用方法

    ASP.NET中Cookie的使用方法

    Cookie是一段文本信息,在客户端存储 Cookie 是 ASP.NET 的会话状态将请求与会话关联的方法之一。浏览器对 Cookie 的大小有限制,因此,只有不超过 4096 字节才能保证被接受。
    2016-04-04

最新评论