首 页 | 网页模板 | 教程 | 源码下载 | 书籍下载 | 图片素材 | 字体 | JAVA特效 | FLASH源码 | 软件 | 矢量 | 论坛 | 其它 |
设为主页
加入收藏
联系站长
平面设计 | 网页制作 | 程序编写 | 数 据 库 | 媒体动画 | 网络冲浪 | 服务器相关 |
当前在线
广告:P4服务器电信机房6999/年即送产权 | 疾风下载
第四章 留言本首页的制作
2004-7-19 6:15:00  作者:李飞  来源:未知 网友评论 0 条 论坛
  第四章    留言本首页的制作               整个留言本由八个文件组成:

  • index.aspx                                         留言本的首页
  • post.aspx                                            发表新留言页
  • face.aspx                                         选择头像页
  • admin_loing.aspx                   管理员登陆页
  • admin_post.aspx                        管理员回复页
  • admin_update.aspx             管理员留言编辑
  • admin_Cancellation.aspx          管理员注销页
  • userweb.ascx                                  用户控件,用来显示版权信息
          留言删除是在首页完成的,管理员登陆后,显示出删除留言内容的复选框和允许执行删除操作。

          部署DreamweaverCtrls.dll控件

          这个步骤十分重要,几乎90%的初学者没有留意到这点,导致用DW MX做的页面完全不能正常工作。如果没有部署DreamweaverCtrls.dll控件到站点根目录下的bim目录中,即使你在页面中插入数据集和数据网络,并且在数据集对话框中测试时能读出数据,但是页面始终报错,报错信息如下:


提示找不到DreamweaverCtrls.dll程序集名称。好,现在,我们来动手部署这个文件。

          新建index.aspx页,保存并打开文件,切换到“绑定面板”,如下图所示:



看见上图中的那个被蓝色线圈住的提示文字了吗?好,你终于看到了,点击“部署”二字,弹出下图对话框:



部署到AspNet\bin目录中。点击“部署”按扭,弹出以下对话框,按“确定”关闭它。



然后打开AspNet\bin目录,是否看到DreamweaverCtrls.dll文件。有的话,恭喜你,成功了。

紧记:DreamweaverCtrls.dll文件名称及其所在目录bin名称不能更改,并且bin文件夹必须保存在站点的根目录下,这是硬性要求,你就莫问为什么了。

                   index.aspx首页的制作

                   部署DreamweaverCtrls.dll控件后,你就可以任意的使用DW MX的ASP.NET服务器行为了。下面就先做个留言本首页。

          操作步骤:

                   1、打开index.aspx页,先在页面中插入一个表单,切换到代码视图,找到<form>标榜,添加runat="server"属性,如<form name="form1"   id="form1" method="post" runat="server" >。

                   然后根据下面页面样式在表单内插入四个表格,当然你可以完全定制自己的样式。



             2、插入数据集

             打开“服务器行为”行为面板,选择“数据集”。如下图。

               

             弹出“数据集”对话框,设置如下图:

            

             排序按ID号从大到小排列,这样可以把最新的留言排在最前面。切换到“绑定”面板,展开数据集字段,如下图所示

            

          把各个字段绑定到页面上。如下图所示:



          图片代码如下:

发新留言:<img src="gif/FIL3319.GIF" border="0">
Qicq:<img src="gif/FIL3241.GIF" alt="<%# DataSet1.FieldValue("Qicq", Container) %>" >
邮 箱:<img src="gif/FIL24111.GIF" border="0">
主 页:<img src="gif/FIL24113.GIF" border="0">
编 辑:<img src="gif/FIL3242.GIF" border="0">
回 复:<img src="gif/FIL24003.GIF" border="0">
用户头像:<img src="<%# DataSet1.FieldValue("Face", Container) %>" >
表情图标:<img src="<%# DataSet1.FieldValue("Miange", Container) %>" >

                复选框名称为“delete”,选定值为:<%# DataSet1.FieldValue("id", Container) %>

                其中“编辑”和“回复”这两个图片链接,管理员登陆后才能链接到相关页,否则转到出错信息页。删除留言复选框只有在管理员登陆后才会显示出来,这里为编辑方便,所以让它显示出来。稍后还要编写一段函数代码,用来控制它的显示是否。还有的就是管理员回复内容,上面页面样式没有给出,是因为这段代码要根据该留言的回复状态决定是否显示,是动态的HTML,必须用一段函数判断实现。

             打开MyMessage.mdb数据表,在MessageBook表中随便输入一些记录,除title(留言标题)、MessageBook(留言内容)、MessageName(留言人姓名)字段外,其它的都可以留空。按F12键预览,能显示记录了。如下图:



             3、插入重复区域

                      上面显示的是一条留言,插入重复区域以显示更多的留言。选中下三个表格,第一个发新留言的那个表格就不用选中它了,如下图:

          切换到“服务器行为”面板,点击加号弹出下拉菜单中选择“重复区域”,   如下图:

         

          弹出重复区域对话框,设置每页显示10条记录。当然,你可以任意设数目,可不要太多了,否则会导致浏览速度变慢。

         

             单击“确定”保存设置。DW MX就会自动在刚才选中的表格周围插入了Repeater控件。Repeater是三个数据显示控件中最为灵活的一个,可以任意定义自己的模板,使页面显得更美观。如果你看了源代码,会觉得Repeater控件好像和普通的ASP循环语句相似。其实Repeater控件不是普通的循环语句那么简单,它是由DataSet数据集读出数据库中的记录,并一次填充Repeater,不是由循环指令一行一行地读出数据。

          好了,按F12键浏览页面,可以显示10条留言了。可是,当留言超过了10条怎么办?可以用分页功能。

          4、添加分页功能

          执行菜单“窗口——》插入”,如下图,打开“插入”面板。

         

          切换到“应用程序”选项卡,如下图:

         

          将光标定位在想要放置分页的地方,点击“”弹出数据集导航条窗口,设置如下:

         

          单击“确定”保存设置。在页面中插入分页导航链接:

         

          打开数据库,添加多于10条的留言记录,预览页面,能正常分页。

          把四个单元格合并,将光标在表格内定位,点击“插入”面板应用程序的“”,弹出数据集导航状态窗口,如下图:

         

          生成的导航状态,如下图:

         

          上面分页有第一页、前一页、下一页和后一页功能,页数很多时,就有得你翻了。所以再添加一个页码功能,想看那一页,点击页码编号就能到达。另外,还应该有提示总页数、当前页功能。

       在上图分页表格下再插入一个表格:

   

          把光标在表格内定位,插入“显示当前页号”行为,如下图:

         

       弹出“显示当前页号”,选择DataSet1数据集。

         

          按“确定”保存设置。浏览页面,翻页时能显示当前是第几页。还有的就是如何显示总页数和页码了。这个须要手工添加些代码,但不是很多。

          代码清单:

当前页:<%= DataSet1.CurrentPage + 1 %>
总页数:<%# DataSet1.LastPage+1 %>
                   分页页码程序:

<%dim i as integer
for i=1 to (DataSet1.LastPage+1)
if (DataSet1.CurrentPage + 1)=i then
response.Write("<font color=#FF0000><strong>" & i &"</strong> </font> ")
else
response.Write("<a href=''''index.aspx?DataSet1_currentPage="& (i-1) &"''''>" & i &"</a>&nbsp; ")
end if
next%>
                   表现出来的效果如下:

                

                   表格做得不是很美观,你可以修饰它。

          5.编写显示函数代码

             对于访客而言,是没有删除留言的权限的,我们在留言本的首页添加了删除记录复选框,这个复选框必须是管理员登陆后才会显示出来。这里编写一段函数代码,判断Session会话是否有值,有的话则显示出来,并允许执行删除操作。

          找到这段代码:

<input name="delete" type="checkbox" id="delete" value="<%#DataSet1.FieldValue("id", Container)%>">删除
       这个直接在设计视图下选中复选框和删除文字,然后切换到代码视图就能找到该行代码了。替换成:

       <%# strdetlete(DataSet1.FieldValue("id", Container)) %>

       下面定义一个strdetlete函数,

<script runat="server">
function strdetlete(strid as integer) as string''''定义一个strdetlete函数
if not session("MM_Username") is nothing then''''当session不为空时
strdetlete="<input name=delete type=checkbox id=delete value="& strid &" >删除"
''''输出复选框及它的值
end if
end function
</script>
          这段函数代码的作用是,判断session("MM_Username")是否有值,有的话则显示复选框和删除文字。这段函数仍然沿用了传统的ASP书写风格,可能是由于本人对ASP.NET了解得不够深入,没有使用先进的控件技术。这样作的目的为了实现批量删除,而DataGind控件虽然方便,但只能一次删除一条留言,所以本人没有作单独的删除记录页面。试把if not session("MM_Username") is nothing then改为if session("MM_Username") is nothing then,预览页面,复选框显示,查看页面源代码,复选框的值都能对应地等于留言的ID号。
共分2页  [1] [2] 
>> 相关文章

关于网站 | 客服中心 | 服务条款 | 友情链接 | 广告联系 | 本站历程 | 网站导航

吉ICP备05000107号