首页 | 网页设计 | w3c标准 | flash动画 | 平面设计 | 经典文章 | 特约专题 | 资源下载 | 健康频道 | 重庆品牌网站 | 留言簿 | 
技术文章  资源下载 经典素材  社区论坛
   
 您现在的位置: vi设计在线 >> 经典文章 >> 网页设计 >> 技术教程 >> [专题]Dreamweaver MX 2004专题 >> 正文  
  Dreamweaver实例:在线音乐网站         
[ 作者:佚名    转贴自:本站原创    点击数:3358    更新时间:2007/2/3    文章录入:QQ392398985

减小字体 增大字体

本实例将详细介绍在线音乐网站的实现过程。

  效果说明 图 94-1 所示是在线音乐网站的首页页面,用户勾选要播放的歌曲后单击【提交】按钮,将会弹出如图 94-2 所示的播放页面。

  
Dreamweaver


  创作构思 通过数据网络提交复选框的选择值,以此建立一个查询数据集,并通过该数据集生成播放列表“ asx ”文件,以实现在线音乐网站。

  操作步骤

  步骤一 应用程序的环境设置


  ( 1 )复制光盘中实例 94 的内容。将“光盘 \ 源文件 \ 实例 94 ” 目录下的所有文件复制到“ C:\ Inetpub\wwwroot\ ”目录下。在 IIS 服务器中设置默认网站的主目录为“ C:\ Inetpub\wwwroot\music ”(请参考实例 1 中的相关方法)。在 Dreamweaver 中新建站点“ music ”,其站点目录为“ C:\ Inetpub\wwwroot\music ”(建立站点的方法请参照实例 2 )。

  
Dreamweaver


  ( 2 )“ music ”表的数据结构。运行 Access ,打开“ C:\ Inetpub \wwwroot\music\data\data.mdb ”,可以看到数据库“ \data.mdb ”中只有“ music ”一个数据表,该表的数据结构如图 94-3 所示。

  ( 3 )建立数据库链接“ musicconn ”,链接数据库“ C:\ Inetpub\wwwroot \music\data\data.mdb ”,方法请参考实例 75 。

  步骤二 音乐网站首页的实现

  ( 1 )打开“ music ”站点下的“ index.apsx ”,这时“ index.apsx ”页面及站点文件如图 94-4 所示。

  
Dreamweaver


  ( 2 )添加数据集“ musicData ”。在【服务器行为】面板中添加数据集“ musicData ”,具体设置如图 94-5 所示。

  
Dreamweaver


  ( 3 )添加“ musicGrid ”数据网络。在【服务器行为】面板中添加“数据网络”,在【数据网络】对话框中设置 ID 为“ musicGrid ”,数据集为“ musicData ”,导航为“编号链接到每一页”,其他设置如图 94-6 所示。

  ( 4 ) 添加“ playcheck ”复选框。切换到表单快捷菜单,在页面空白处添加表单复选框,设置其名称为“ playcheck ”。切换到代码视图,用数据集“ musicData ”下的字段“ id ”替换“ playcheck ”复选框源代码中的“ value ”值,如图 94-7 所示。

  ( 5 )选择“ playcheck ”复选框的源代码,将其剪切。在服务器行为面板中再次打开数据网络“ musicGrid ”,参照如图 83-5 所示的方法,编辑“ id ”标题为“编号”、“ name ”标题为“歌曲名称”、“ who ”为“歌唱者”、“ date ”为“发表时间”。选择“ url ”,单击【—】按钮,将“ url ”从列中删除,结果如图 94-8 所示。

  
Dreamweaver


  
Dreamweaver


  
Dreamweaver


  ( 6 )设置【自由格式列】。单击【 + 】按钮,在弹出的快捷菜单中选择【自由格式】菜单项。然后在弹出的【自由格式列】对话框中设置标题为“播放”,并将之前剪切的复选框源代码粘贴到【内容】文本区域中,具体操作可参考图 83-6 。

  ( 7 )添加【表单】按钮。在【数据网络】对话框中单击【确定】按钮,返回到页面。为页面添加一个【表单】按钮,保持其默认设置。

  ( 8 )定义“ Page_Load ”过程,该过程的代码如下所述。

  Sub Page_Load(Sender As Object,e As EventArgs)

  If Trim(Request.Form("playcheck"))<>nothing then

  session("playch")=Trim(Request.Form("playcheck"))

  Dim scriptString As String = "<script language=javascript> function Page_Load() {"

  scriptString += "window.open('play.aspx','','width=240,height=240')}"

  scriptString += "<"

  scriptString += "/"

  scriptString += "script>"

  If (Session("playch") <> Nothing) And (Trim(Request.Form("playcheck")) <> Nothing) Then

  If (Not Me.IsStartupScriptRegistered(("Startup")) Then Me.RegisterStartup Script("Startup", scriptString)

  End If

  End If

  End Sub

  (读者可打开【光盘】|【源文件】|【实例 94 】|【 94.1.txt 】文件,直接复制)

  程序说明:

  提交表单后当复选框“ playcheck ”的提交值非空时,则执行以下程序。

  ① 首先将复选框“ playcheck ”的提交值存储在“ session("playch") ”中。由于提交值可能不是单一的,所以该提交值的存储形式为选择歌曲 ID, 选择歌曲 ID ,选择歌曲 ID ……

  ② 通过变量“ scriptString ”定义客户端函数“ Page_Load ”,该函数与服务端过程“ Page_Load ”是同步的,就是当执行“ Page_Load ”过程时,同时也会执行客户端函数“ Page_Load ”。该客户端函数其实是一个弹出窗口函数。

  ③ 当复选框“ playcheck ”的提交值非空及“ session("playch") ”非空时,检测客户端函数是否注册成功( Not Me.IsStartupScriptRegistered ( ("Startup") ),如果注册成功,则装载客户端函数后执行该函数。

  ( 9 )保存“ index.aspx ”文件。

  步骤三 音乐播放页面的实现

  ( 1 )新建动态网页。新建一个 ASP.NET 动态网页,为页面添加数据集“ musicData ”,该数据集的设置如图 94-9 所示。

  ( 2 )添加命名空间“ System.Io ”。切换至代码视图,为页面添加命名空间“ System.Io ”,具体操作可参考实例 81 中的图 81-2 。添加命名空间,使程序能够运用 ASP.NET 操作文件。

  
Dreamweaver


  ( 3 )修改代码。在代码视图中找到数据集“ musicData ”的源代码,如图 94-10 所示。将图 94-10 中圆角方框①所示的代码删除,将图 94-10 中圆角方框②所示的代码改为“ False ”。

  
Dreamweaver


  ( 4 )在“ <MM:PageBind runat="server" PostBackBind="true" /> ”标签之后输入如下所述的代码。

  <script runat="server">

  Sub Page_Load(Sender As Object,e As EventArgs)

  musicData.CommandText="SELECT id,url from music where id in ("& session("playch") &")"

  musicData.debug=true

  End Sub

  </script>

  (读者可打开【光盘】|【源文件】|【实例 94 】|【 94.2.txt 】文件,直接复制)

  程序说明:

  该代码其实是定义一个“ Page_Load ”的过程,在这个过程中重新定义了数据集“ musicData ”的查询命名,查询歌曲序号( id )在“ Session(“playch”) ”中的所有记录。这与前面讲过的“ Session(“playch”) ”存储形式是相对应的。

  ( 5 )添加“ AtiveX ”组件。切换至设计视图,执行【插入】|【媒体】|【 AtiveX 】菜单命令,为页面添加“ AtiveX ”组件。由于本实例是在线音乐,为此编辑该“ AtiveX ”为“ Media Player ”播放组件,如图 94-11 所示。

  
Dreamweaver


  提示:图 94-11 中所示的步骤②输入“ Media Player ”的注册类 ID 为“ CLSID:6BF 52A 52- 394A -11d3-B153 -00C 04F 79FAA 6 ” ;步骤③选择的类型为“ application/x-oleobject ”;步骤⑥添加的 3 个参数分别为参数“ URL ”,其相应值为“ music.asx ”,参数“ autoStar ”,其值为“ true ”,参数“ playCount ”,其相应值为“ 0 ”。参数“ URL ”用于设置播放音乐的地址,这里指的是播放列表“ music.asx ”的值。参数“ autoStar ”用于设置是否自动播放。参数“ playCount ”用于设置循环播放的次数,当该值为“ 0 ”时,表示无限循环播放。

  ( 6 )播放列表“ asx ”文件。在开始动态生成播放列表“ music.asx ”之前,先介绍“ Media Player ”的播放列表“ asx ”文件。图 94-12 所示是一个播放列表“ asx ”文件。第 1 行是版本号, <entry></entry> 之间是一个播放流,“ asx ”文件中可以有多个播放流,并组成播放列表。图 94-12 所示的“ asx ”文件中就有 3 个播放流。

  ( 7 )在“ Page_Load ”过程中添加如下所述的代码。

  Dim xlmstring As String

  Dim i As Integer

  xlmstring = "<ASX VERSION="

  xlmstring+="""3.0"""

  xlmstring+=">"

  For i = 0 To musicData. RecordCount - 1

  xlmstring += "<ENTRY>"

  xlmstring +="<REF HREF="""

  xlmstring+=musicData.FieldValueAtIndex(i, "url", Nothing)

  xlmstring+="""/>"

  xlmstring +="</ENTRY>"

  Next

  xlmstring += "</ASX>"

  Dim file_path As String

  file_path = Server.MapPath("music.asx")

  Dim fs As StreamWriter = New StreamWriter(file_path, False)

  fs.WriteLine(xlmstring)

  fs.Close()

  (读者可打开【光盘】|【源文件】|【实例 94 】|【 94.3.txt 】文件,直接复制)

  程序说明:

  首先定义字符串变量“ xlmstring ”,并添加字符串“ <ASX VERSION="3.0"> ”。根据数据集“ musicData ”记录大小循环,把“ <entry></entry> ”之间的播放流添加到字符串变量“ xlmstring ”中,“ <entry></entry> ”之间的播放流音乐文件地址为第 i 记录中字段“ url ”的字段值( musicData.FieldValueAtIndex(i, "url", Nothing) )。最后将生成的“ asx ”文件的内容字符串写进播放列表“ music.asx ”文件中。

  提示:在“ asx ”文件中各参数属性值不支持单引号,如果将版本号设置为“ <ASX VERSION=' 3.0' > ”,则“ Media Player ”将不能正确播放该“ asx ”文件,其正确设置应为“ <ASX VERSION="3.0"> ”。所以程序中出现一些重复的双引号,如“ xlmstring+="""3.0""" ”,就是为了在“ asx ”文件中正确设置各参数的属性值。

  ( 8 )保存该 ASP.NET 动态网页为“ play.aspx ”。

  音乐娱乐网站的实现,其实主要解决多媒体播放控件的设置、音乐播放列表的动态生成。在实际应用中,应将音乐的播放次数与站点的收益联系起来,而且要解决如何防止多媒体被盗链、下载等问题。读者们应在本实例介绍的基础上,从这几个方面作更为深入的研究。至此,本实例介绍完毕。

  步骤二 音乐网站首页的实现

  ( 1 )打开“ music ”站点下的“ index.apsx ”,这时“ index.apsx ”页面及站点文件如图 94-4 所示。

  
Dreamweaver


  ( 2 )添加数据集“ musicData ”。在【服务器行为】面板中添加数据集“ musicData ”,具体设置如图 94-5 所示。

  
Dreamweaver


  ( 3 )添加“ musicGrid ”数据网络。在【服务器行为】面板中添加“数据网络”,在【数据网络】对话框中设置 ID 为“ musicGrid ”,数据集为“ musicData ”,导航为“编号链接到每一页”,其他设置如图 94-6 所示。

  ( 4 ) 添加“ playcheck ”复选框。切换到表单快捷菜单,在页面空白处添加表单复选框,设置其名称为“ playcheck ”。切换到代码视图,用数据集“ musicData ”下的字段“ id ”替换“ playcheck ”复选框源代码中的“ value ”值,如图 94-7 所示。

  ( 5 )选择“ playcheck ”复选框的源代码,将其剪切。在服务器行为面板中再次打开数据网络“ musicGrid ”,参照如图 83-5 所示的方法,编辑“ id ”标题为“编号”、“ name ”标题为“歌曲名称”、“ who ”为“歌唱者”、“ date ”为“发表时间”。选择“ url ”,单击【—】按钮,将“ url ”从列中删除,结果如图 94-8 所示。

  
Dreamweaver


  
Dreamweaver


  
Dreamweaver


  ( 6 )设置【自由格式列】。单击【 + 】按钮,在弹出的快捷菜单中选择【自由格式】菜单项。然后在弹出的【自由格式列】对话框中设置标题为“播放”,并将之前剪切的复选框源代码粘贴到【内容】文本区域中,具体操作可参考图 83-6 。

  ( 7 )添加【表单】按钮。在【数据网络】对话框中单击【确定】按钮,返回到页面。为页面添加一个【表单】按钮,保持其默认设置。

  ( 8 )定义“ Page_Load ”过程,该过程的代码如下所述。

  Sub Page_Load(Sender As Object,e As EventArgs)

  If Trim(Request.Form("playcheck"))<>nothing then

  session("playch")=Trim(Request.Form("playcheck"))

  Dim scriptString As String = "<script language=javascript> function Page_Load() {"

  scriptString += "window.open('play.aspx','','width=240,height=240')}"

  scriptString += "<"

  scriptString += "/"

  scriptString += "script>"

  If (Session("playch") <> Nothing) And (Trim(Request.Form("playcheck")) <> Nothing) Then

  If (Not Me.IsStartupScriptRegistered(("Startup")) Then Me.RegisterStartup Script("Startup", scriptString)

  End If

  End If

  End Sub

  (读者可打开【光盘】|【源文件】|【实例 94 】|【 94.1.txt 】文件,直接复制)

  程序说明:

  提交表单后当复选框“ playcheck ”的提交值非空时,则执行以下程序。

  ① 首先将复选框“ playcheck ”的提交值存储在“ session("playch") ”中。由于提交值可能不是单一的,所以该提交值的存储形式为选择歌曲 ID, 选择歌曲 ID ,选择歌曲 ID ……

  ② 通过变量“ scriptString ”定义客户端函数“ Page_Load ”,该函数与服务端过程“ Page_Load ”是同步的,就是当执行“ Page_Load ”过程时,同时也会执行客户端函数“ Page_Load ”。该客户端函数其实是一个弹出窗口函数。

  ③ 当复选框“ playcheck ”的提交值非空及“ session("playch") ”非空时,检测客户端函数是否注册成功( Not Me.IsStartupScriptRegistered ( ("Startup") ),如果注册成功,则装载客户端函数后执行该函数。

  ( 9 )保存“ index.aspx ”文件。
 上一篇文章: 用Dreamweaver MX 2004的Flash动画元素
 下一篇文章: Dreamweaver MX 2004从零开始
发表评论】【告诉好友】【打印此文】【关闭窗口


技术文章  资源下载
经典素材  社区论坛
 中大型美容美发店老…[999]
 重庆多达学习俄语培…[2200]
 重庆恒祥广告有限公…[1931]
 重庆市南方阻燃电线…[2342]
 重庆舞美灯光音响有…[3085]
 重庆德鼎滤油机有限…[1868]
 重庆民生建材有限公…[2316]
 重庆集元科技有限公…[4097]
 重庆倍润商贸有限公…[1986]
 重庆腾达展览有限公…[3055]
 帝一网络创始人宣…--[3122]
 重庆vi设计在线祝…--[2712]
 重庆帝一网络书生…--[2829]
 馋嘴鸭的起伏和经…--[2968]
 机器感觉“卡”的…--[2895]
 ActionScript3打造…--[5652]
 在ASP文件中读取H…--[7210]
 vi设计经典案例--[63567]
 帅到掉渣-爆笑版勇…--[7022]
 一个女孩写的经典…--[6788]
没有相关文章
 (只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    没有任何评论
设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 重庆网站建设 | 
版权所有: vi设计在线  © 2005-2018 网站备案序号:渝ICP备06003824号
技术支持:帝一网络(重庆网站建设专家)