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) |
注意: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, |
| 回书目 上一节 下一节 |
|
· 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. · 系统分析师自测获奖名.. |
· Linux结课考试自测获奖.. · 上周Linux系统命令的使.. · 上周真题冲刺测试获奖.. · 全国计算机等考四级模.. · 08年3月各大网上书店及.. · 网络工程师模拟测试获.. |
|
||||
| · IPv6协议--拓展网络无.. · 了解统一威胁管理(UTM).. · 调查:十大发现 解秘技.. · 技术人求职简历完备手册 · Vista SP1对决XP SP3 · 运营商封堵ADSL共享 中.. · LAMP技术精解 · PHP开发应用手册 |
· 解析35岁技术人的价值.. · 汶川大地震 IT技术人在.. · SOA 面向服务架构 · 龙芯要做中国的“奔腾” · 微软出价446亿美元收购.. · 网管员如何踏上高薪之路 · 主流品牌防火墙配置 · 访问控制列表(ACL)介绍 |
|||
|
||||
| · SQL Server 2008/2005.. · SOA 面向服务架构 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 |
· Apache技术专题 · 国际文档格式标准开战 · 路由器设置与口令恢复 · 打造安全服务器 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · ADSL应用面面俱到 |
|||
|
||||
| · iSCSI应用与发展 · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · iSCSI应用与发展 · 三层交换技术专题 · Apache技术专题 |
· RAID——磁盘阵列基础 · 企业数据恢复指南 · 路由器设置与口令恢复 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · ADSL应用面面俱到 · ADSL应用面面俱到 · 反垃圾邮件技术应用 |
|||