您的位置:首页 > 编程语言 > C#

【C#】文章正文显示和文章列表分页,审核功能的添加

2011-11-27 22:23 721 查看
用C#写网站后台时的记录

文章正文

正文显示使用DATALIST和数据绑定技术实现,需要接收从列表页传来的数据并根据数据来寻找相应的数据库记录。

代码如下

string id =Request.QueryString["id"];

SqlConnection mystr = new SqlConnection();

mystr.ConnectionString = "Data Source=mike;Initial Catalog=jishengWebSite;User ID=sa;Password=123456;Pooling=False";

mystr.Open();

SqlDataAdapter sda = new SqlDataAdapter("select * from T_XWDT where id ='"+Server.UrlDecode(id)+"'", mystr);

DataSet ds = new DataSet();

sda.Fill(ds);

DataList1.DataSource = ds;

DataList1.DataBind();

由于每个文章列表页对应不同的表,所以就在代码中把表名写死了,根据每个不同的页面调整。使用DATAADAPTER来使用SQL语言,DATASET来存储数据,将datalist的数据源绑定在DATASET上,由于只有一条数据,所以只显示一篇文章内容,在网页的HTML代码中ItemTemplate处编写控制样式的模板。

<asp:DataList ID="DataList1" runat="server">

<ItemTemplate><table>

<tr><td><h1><%#DataBinder.Eval(Container.DataItem, "title")%></h1></td></tr>

<tr><td>

<table><tr><td style="padding-right:50px;"><%#DataBinder.Eval(Container.DataItem,"publishtime") %></td><td><%#DataBinder.Eval(Container.DataItem,"origin") %></td></tr></table>

</td></tr>

<tr><td><%#DataBinder.Eval(Container.DataItem,"context") %></td></tr>

</table></ItemTemplate>

</asp:DataList>

其中<%#DataBinder.Eval(Container.DataItem,"publishtime") %>表示取出字段名为PUBLISHTIME的值,而Container.DataItem代表了datalist,repeater等。

文章列表分页

使用REPEATER实现分页,使用LABLE来显示当前页,用HyperLink来标注前一页和下一页。在处理页加入以下代码

if(!IsPostBack )

{

SqlConnection mystr = new SqlConnection();

mystr.ConnectionString = "Data Source=mike;Initial Catalog=jishengWebSite;User ID=sa;Password=123456;Pooling=False";

mystr.Open();

SqlDataAdapter sda = new SqlDataAdapter("select * from T_XWDT", mystr);

DataSet ds = new DataSet();

sda.Fill(ds);

PagedDataSource objPds = new PagedDataSource();

objPds.DataSource = ds.Tables[0].DefaultView;

objPds.AllowPaging = true;

objPds.PageSize = 5;

int CurPage;

if (Request.QueryString["Page"] != null)

CurPage = Convert.ToInt32(Request.QueryString["Page"]);

else

CurPage = 1;

objPds.CurrentPageIndex = CurPage - 1;

lblCurrentPage.Text = "当前页:" + CurPage.ToString();

if (!objPds.IsFirstPage)

lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);

if (!objPds.IsLastPage)

lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);

Repeater1.DataSource = objPds;

Repeater1.DataBind();

}

在网页处加入以下代码

<asp:label ID="lblCurrentPage" runat="server"></asp:label>

<asp:HyperLink id="lnkPrev" runat="server">上一页</asp:HyperLink>

<asp:HyperLink id="lnkNext" runat="server">下一页</asp:HyperLink>

审核功能的添加

在每一个需要有审核功能的栏目的表中加入审核字段ISPASS数据类型为BIT ,默认值为0(若不加默认值,在修改文章时会出现无法转换类型的错误),在文章管理的GRIDVIEW中加入一个新的CHECKBOX字段,将其绑定到ISPASS字段值,修改文章添加,修改的方法,并且修改数据库中的相关存储过程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: