【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字段值,修改文章添加,修改的方法,并且修改数据库中的相关存储过程。
文章正文
正文显示使用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字段值,修改文章添加,修改的方法,并且修改数据库中的相关存储过程。
相关文章推荐
- 【c#】正式文章添加和列表显示
- C#为ListView添加自动列宽调整和点击列表头自动排序功能
- 将模版列功能改造成博客内容列表, 并使完成分页 (使用分页模板完成,显示上一页,下一页,第一页,最后一页,和当前第x页,共y页 。)
- Fiddler-中会话列表中添加显示IP、相应时间功能
- 实现长文章分页显示功能
- 利用AJAX实现WordPress中的文章列表及评论的分页功能
- C# GridView 在使用分页时,如何不显示底部自动添加的分页风格
- JSP实现添加功能和分页显示实例分析
- JSP培训(8)——添加功能和分页显示
- 利用AJAX实现WordPress中的文章列表及评论的分页功能
- JSP实现添加功能和分页显示实例分析
- 如何给wordpress添加显示文章阅读数的功能
- c# Gridview 自动分页功能 解决后面页面不显示问题
- 【用Struts2实现列表显示和分页功能】
- hibernate分页查询,在自己写的s2sh注册登录的基础上添加对数据表的分页显示功能
- PHP CMS 如何让父栏目显示该栏目并分页和子栏目所有文章列表
- Asp.Net实现长文章分页显示功能
- 实现长文章的自动分页显示功能
- php分页显示文章列表
- 使用MVCPager进行博客园首页列表数据的分页显示功能