效果说明 用户通过投票评价公司产品,有“很好”、“好”、“一般”、“差” 4 种意见,投票提交后,只能在下次访问时才能显示自身的投票结果。统计图表及统计结果是目前的投票结果分析,如图 90-1 所示。
创作构思 通过单选按钮及按钮事件实现在线调查,通过 VML 实现统计图表的输出。
操作步骤
步骤一 基本页面设计
( 1 )添加在线调查内容。打开“ index.aspx ”,在“ LeftTb ”表格中添加 8 行,在新添加的第 3 行中添加“ asp :按钮”,设置文本为“投票”, ID 为“ PollButton ”,其他参数设置如图 90-2 中圆角方框所示。

( 2 )添加“ asp :单选按钮列表”。在新添加的第 2 行中添加“ asp :单选按钮列表”,并设置有关列表项,如图 90-3 所示。

提示: 在“ asp :单选按钮列表”中添加的 4 个列表项分别为① “很好”标签,值为“ VeryGood ”;② “好”标签,值为“ Good ”;③ “一般”标签,值为“ Commandly ”;④“差”标签,值为“ Mistake ”。这样设置是为了与“ POLL ”表中的 4 个字段名设置相同。
( 3 )添加数据集“ PollData ”。添加数据集“ PollData ”,用于获取“ VeryGood ”(很好)、“ Good ”(好)、“ Commandly ”(一般)、“ Mistake ”(差)这 4 种投票结果,其参数设置如图 90-4 所示。
( 4 )绑定动态文本到行中。将数据集“ PollData ”中的动态文本绑定到新添加的行中,结果如图 90-5 所示。

Sub PollButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim Cpadapter AS new OleDbDataAdapter
Dim CpCommand AS new OleDbCommand
Dim dt AS System.Data.DataSet
Dim Tystring as string
Conn.open()
Cpstring2="Update POLL SET "+Pollradio.SelectedItem.Value+"="+cstr (PollData. FieldValue(Pollradio.SelectedItem.Value, nothing)+1)
CpCommand=new OleDbCommand(Cpstring2,conn)
CpCommand.ExecuteNonQuery()
End Sub
(读者可打开【光盘】|【源文件】|【实例 90 】|【 90.1.txt 】文件,直接复制)
提示:由于 Dreamweaver 中“更新记录”服务器行为不支持事件处理,所以只能借助“ DataAdapter ”对象更新“ POLL ”表的记录。由于在前面的操作中已经设置单选按钮列表中的选项值与“ POLL ”的字段名相同,那么单击单选按钮列表中的选项,即可从“ Pollradio.SelectedItem.Value ”中获取投票的字段名。
( 2 )绑定“ PollButton_Click ”过程到“投票”按钮的“ OnClick ”事件响应过程中。
( 3 )在代码视图中找到“ ”标签,并将其改为“ ”,将 XML 命名空间定义为“ v ”。然后在“ ”标签中添加如下所述的代码。
<style>
v\:*{behavior:url(#default#VML);}
</style>
(读者可打开【光盘】|【源文件】|【实例 90 】|【 90.2.txt 】文件,直接复制)

这样做是为了将命名空间“ v ”与系统预定义的行为 VML 连接。这样定义以后,就可以通过“
<!DOCTYPE HTML PUBLIC "-//W 3C //DTD HTML4.01Transitional//EN" "http://www.w3.org/TR/html4/
loose.dtd">
( 5 )在“ <script runat="server"> ”中添加“ DrawPoll ”过程,以输出统计图表,其代码如下所述。
Sub DrawPoll()
Dim Pollar(3) As Integer
Dim TotalPo