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

用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字段值,修改文章添加,修改的方法,并且修改数据库中的相关存储过程。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值