频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

26.6.8 评论管理页面功能实现过程

作者: 明日科技编著 出处:人民邮电出版社  2008-05-20 15:54    砖    好    评论   进入论坛
阅读提示:《C#数据库系统开发完全手册》第26章主要讲述的是博客网站,本节为您介绍的是评论管理页面功能实现过程。

26.6.8  评论管理页面功能实现过程

数据表:tb_Revert    技术:根据特定条件在数据库中检索匹配项

博客用户登录后,单击主页面左侧站内导航中的“评论管理”选项,即可进入评论管理页面,管理页面中将显示所有的评论,其中已经列出主题、发表人以及评论内容,评论管理页面主要由用户自定义控件布局而成,页面运行结果如图26.15所示。

评论管理页面中的核心部分是Reply2用户控件,下面对该控件进行详细介绍,表26.15显示的是组成该用户控件的一些标准控件列表。

表26.15 Reply2控件列表

   

    

HTML

Table

3

布局页面

标准

LinkButton

3

页面转向

标准

Label

3

显示详细数据

标准

DataList

1

控件存放容器

 
图26.15  评论管理页面

评论管理页面前台代码如下所示:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Reply.ascx.cs" Inherits="UseControls_
MainControls_Reply" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>回复留言</title>
  <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
  <meta content="C#" name="CODE_LANGUAGE">
  <meta content="JavaScript" name="vs_defaultClientScript">
  <meta content="
http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
 </HEAD>
 <body MS_POSITIONING="GridLayout">
<table style="width: 473px">
<tr>
<td colspan="4" style="text-align: center; width: 451px; vertical-align: top;">
<asp:DataList ID="DataList1" runat="server" Width="327px" OnDeleteCommand=
"DataList1_DeleteCommand">
<ItemTemplate>
<table style="width: 401px" border="1" cellpadding="0" cellspacing="0">
<tr>
<td style="width: 61px; text-align: right">
<span style="font-size: 9pt">评论时间</span>:</td>
<td style="width: 61px">
<asp:Label ID="labTime" runat="server" Font-Size="9pt"
Width="98px" Text='<%# DataBinder.Eval (Container.DataItem, "Time") %>'></asp:Label></td>
<td style="width: 63px; text-align: right">
<span style="font-size: 9pt">评论主题</span>:</td>
<td style="width: 168px; text-align: left;">
<asp:Label ID="labSubject" runat="server" Font-Size="9pt"
Width="159px" Text=<%#DataBinder.Eval (Container.DataItem, "Subject") %>></asp:Label></td>
</tr>
<tr>
<td style="width: 61px; height: 17px; text-align: right">
<span></span><span style="font-size: 9pt">评论内容</span>:</td>
<td colspan="3" style="height: 17px; text-align: left;">
<asp:Label ID="labContext" runat="server" Height="16px"
Width="325px" Text='<%# DataBinder.Eval (Container.DataItem, "Content") %>' Font-Size="9pt"></asp:Label></td>
</tr>
<tr>
<td style="width: 61px; height: 50px">
</td>
<td colspan="3" style="height: 50px">
<span style="font-size: 9pt">
<table style="font-size: 9pt; width: 329px">
<tr>
<td style="text-align: right; height: 18px;" colspan="2">
发表人:<a href="../../Module/Blog/
PersonInfo.aspx?VisitorID=<%#DataBinder.Eval(Container.DataItem,"VisitorID") %>"><%#DataBinder.Eval
(Container.DataItem,"VisitorName") %></a></td>
<td style="width: 21px; height: 18px;">
</td>
<td colspan="2" style="height: 18px; text-
align: center">
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="delete" Font-Underline="False" ForeColor="Blue">【删除评论】</asp:LinkButton></td>
… …
</HTML>

评论管理页面前台代码页中主要实现的是,将数据库中的一些数据绑定到相应控件中,绑定数据到控件的主要步骤如下。

(1)先在后台连接数据库,并将数据源与控件进行绑定。实现这一过程的后台功能代码如下:

protected void Page_Load(object sender, EventArgs e)
{
string P_str_sub= Request["ArticleID"].ToString();
SqlConnection mycon = new SqlConnection(ConfigurationManager.
AppSettings["conStr"]);
mycon.Open();
SqlDataAdapter myada = new SqlDataAdapter("select * from tb_
Revert where ArticleID='" + P_str_sub+ "'",
mycon);
DataSet ds = new DataSet();
myada.Fill(ds);
this.DataList1.DataSource = ds;
this.DataList1.DataKeyField = "RevertID";
this.DataList1.DataBind();
mycon.Close();
}

注意:DataKeyField获取键字段名称是完成删除操作的必备条件。

(2)以上步骤完成后,即可在前台代码相应的控件下绑定数据,绑定代码格式如下:

<%# DataBinder.Eval (Container.DataItem, "要绑定的字段") %>

注意:当在页上调用DataBind方法时,数据绑定表达式创建服务器控件属性和数据源之间的绑定。

所有数据绑定表达式都必须包含在<%# 和 %>字符之间。

ASP.NET支持分层数据绑定模型,该模型创建服务器控件属性和数据源之间的绑定。几乎任何服务器控件属性都可以绑定到任何公共字段或属性,这些公共字段或属性位于包含页或服务器控件的直接命名容器上。

数据绑定表达式使用Eval和Bind方法将数据绑定到控件,并将更改提交回数据库。Eval方法是静态(只读)方法,该方法采用数据字段的值作为参数并将其作为字符串返回。Bind方法支持读/写功能,可以检索数据绑定控件的值并将任何更改提交回数据库。

完成以上两步操作后,即可将数据库中的对应字段绑定到控件上了。
在DataList控件中,没有GridView控件中自带的删除功能,这里我们通过添加一个LinkButton按钮,来实现DataList中对当前行进行删除的操作,先设置LinkButton控件的CommandName属性,将其设置为delete。然后在DataList的DeleteCommand事件下编写如下代码:

protected void DataList1_DeleteCommand(object source, 
DataListCommandEventArgs e)
{
string P_str_strid = this.DataList1.DataKeys[e.Item.
ItemIndex].ToString(); //获取当前DataList
//控件列
string com = "Delete from tb_Revert where RevertID='" +
Convert.ToInt32(P_str_strid) + "'";
SqlData da = new SqlData();
da.ExceSQL(com);
Page.Response.Redirect("ReplyManage.aspx?Subject="
+Request["ArticleID"]+"");
}

Reply2中还有对控件的分页功能,这在前面的“访客主页面实现过程”一节中已作详细介绍,这里不再赘述。
【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节
专题
Sun以10亿美元并购开源数据库厂商MySQL
Oracle数据库开发之PL/SQL基础应用
C#实用基础教程
Oracle数据库开发基础教程
2006年数据库频道热点关注
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
2008年上半年全国软考最新试题、答案及点评
2008年上半年全国软考最新试..
勇闯IT培训黑色围城
勇闯IT培训黑色围城
IPv6协议--拓展网络无限空间
IPv6协议--拓展网络无限空间
· IPv6协议--拓展网络无..
· 了解统一威胁管理(UTM)..
· 调查:十大发现 解秘技..
· 技术人求职简历完备手册
· Vista SP1对决XP SP3
· 运营商封堵ADSL共享 中..
· LAMP技术精解
· PHP开发应用手册
· 解析35岁技术人的价值..
· 汶川大地震 IT技术人在..
· SOA 面向服务架构
· 龙芯要做中国的“奔腾”
· 微软出价446亿美元收购..
· 网管员如何踏上高薪之路
· 主流品牌防火墙配置
· 访问控制列表(ACL)介绍
ARP攻击防范与解决方案
ARP攻击防范与解决方案
iSCSI应用与发展
iSCSI应用与发展
SQL Server 2008/2005全解
SQL Server 2008/2005全解
· SQL Server 2008/2005..
· SOA 面向服务架构
· SQL Server 2008/2005..
· iSCSI应用与发展
· RAID——磁盘阵列基础
· Apache技术专题
· 三层交换技术专题
· SQL Server入门到精通
· Apache技术专题
· 国际文档格式标准开战
· 路由器设置与口令恢复
· 打造安全服务器
· PHP开发应用手册
· SOA 面向服务架构
· 企业数据恢复指南
· ADSL应用面面俱到
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
iSCSI应用与发展
iSCSI应用与发展
· iSCSI应用与发展
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· Apache技术专题
· iSCSI应用与发展
· 三层交换技术专题
· Apache技术专题
· RAID——磁盘阵列基础
· 企业数据恢复指南
· 路由器设置与口令恢复
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· ADSL应用面面俱到
· ADSL应用面面俱到
· 反垃圾邮件技术应用