HoverMenu控件的使用

本文介绍如何使用 HoverMenu 控件实现在鼠标悬停时显示菜单的功能。通过设置 TargetControlID 和 PopupControlID 属性,可以指定触发菜单显示的元素及菜单本身。同时,还介绍了如何配置 PopupPosition、PopDelay 等属性来定制菜单的显示位置和延迟时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能:
    当鼠标移动到指定的位置时,在不影响其他的元素的情况下出现一个菜单,并允许用户进行一些操作。
属性:
    TargetControlID:要显示菜单的目标控件的ID
    PopupControlID:作为弹出菜单的控件的ID
    HoverCssClass:鼠标移动到目标控件时目标控件的样式
    PopupPosition:弹出菜单所在的位置,共有五个值(bottom,top,left,right,center)
    OffsetX:菜单距离目标控件的位置--横坐标
    OffsetY:菜单距离目标控件的位置--纵坐标
    PopDelay:弹出菜单的延迟时间
代码实例:
 
<body onload="focus();">
  
<center>    
      请移动鼠标到某一行数据上,以便看到
<strong>“停靠菜单(HoverMenu)”</strong>
    
    
<form id="form1" runat="server">
      
<asp:ScriptManager ID="ScriptManager1" runat="server">
      
</asp:ScriptManager>

      
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
        
<ContentTemplate>
          
<asp:GridView ID="GridView1" runat="server"
                        AllowPaging
="True"
                        AutoGenerateColumns
="False"
                        DataKeyNames
="员工号码"
                        DataSourceID
="SqlDataSource1" PageSize="5">
            
<Columns>
              
<asp:TemplateField>
                
<EditItemTemplate>
                  
<%-- 存放编辑项目样板的容器 --%>
                  
<asp:Panel ID="panEdit" runat="server">
                    
<table>
                      
<tr>
                        
<td width="100">
                          
<asp:Label ID="Label1" runat="server" Text='<%# Eval("员工号码") %>'></asp:Label>
                        
</td>
                        
<td width="100">
                          
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("姓名") %>' width="90"></asp:TextBox>
                        
</td>
                        
<td width="50">
                          
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("性别") %>' width="40"></asp:TextBox>
                        
</td>
                        
<td width="100">
                          
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("邮政编码") %>' width="90"></asp:TextBox>
                        
</td>
                        
<td width="450">
                          
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("地址") %>' width="440"></asp:TextBox>
                        
</td>
                      
</tr>
                    
</table>
                  
</asp:Panel>
                  
                  
<%-- 存放停驻选单(HoverMenu)的容器 --%>
                  
<asp:Panel ID="panHoverMenu" runat="server" width="50px" CssClass="cssHoverMenu">
                    
<div style="padding: 2px; border: purple 2px dashed; text-align: center;">
                      
<asp:LinkButton ID="lnkbtnUpdate" runat="server"
                                      CommandName
="Update">更新</asp:LinkButton><br />
                      
<asp:LinkButton ID="lnkbtnCancel" runat="server"
                                      CommandName
="Cancel">取消</asp:LinkButton>
                    
</div>
                  
</asp:Panel>

                  
<%-- 指定停驻选单(HoverMenu)的属性 --%>
                  
<ajaxToolkit:HoverMenuExtender ID="hmeEdit" runat="server"
                                                 TargetControlID
="panEdit"
                                                 PopupControlID
="panHoverMenu"
                                                 PopupPosition
="Right"
                                                 PopDelay
="50"
                                                 OffsetX
="-10"
                                                 OffsetY
="5"
                                                 HoverCssClass
="cssRowHover">
                  
</ajaxToolkit:HoverMenuExtender>

                  
<%-- 确认按钮(ConfirmButton) --%>
                  
<ajaxToolkit:ConfirmButtonExtender ID="cbeUpdate" runat="server"
                                                     TargetControlID
="lnkbtnUpdate"
                                                     ConfirmText
="确定要更新吗?">
                  
</ajaxToolkit:ConfirmButtonExtender>
                
</EditItemTemplate>
                
<ItemTemplate>
                  
<%-- 存放项目样板的容器 --%>
                  
<asp:Panel ID="panItem" runat="server">
                    
<table>
                      
<tr>
                        
<td width="100">
                          
<asp:Label ID="Label1" runat="server" Text='<%# Eval("员工号码") %>'></asp:Label>
                        
</td>
                        
<td width="100">
                          
<asp:Label ID="Label2" runat="server" Text='<%# Bind("姓名") %>'></asp:Label>
                        
</td>
                        
<td width="50">
                          
<asp:Label ID="Label3" runat="server" Text='<%# Bind("性别") %>'></asp:Label>
                        
</td>
                        
<td width="100">
                          
<asp:Label ID="Label4" runat="server" Text='<%# Bind("邮政编码") %>'></asp:Label>
                        
</td>
                        
<td align="left" width="450">
                          
<asp:Label ID="Label5" runat="server" Text='<%# Bind("地址") %>'></asp:Label>
                        
</td>
                      
</tr>
                    
</table>
                  
</asp:Panel>

                  
<%-- 存放停驻选单(HoverMenu)的容器 --%>
                  
<asp:Panel ID="panHoverMenu" runat="server" width="50px" CssClass="cssHoverMenu">
                    
<div style="padding: 2px; border: purple 2px dashed; text-align: center;">
                      
<asp:LinkButton ID="lnkBtnEdit" runat="server"
                                      CommandName
="Edit">编辑</asp:LinkButton><br />
                      
<asp:LinkButton ID="lnkBtnDel" runat="server"
                                      CommandName
="Delete">删除</asp:LinkButton>
                    
</div>

                    
<%-- 指定停驻选单(HoverMenu)的属性 --%>
                    
<ajaxToolkit:HoverMenuExtender ID="hmeItem" runat="server"
                                                   TargetControlID
="panItem"
                                                   PopupControlID
="panHoverMenu"
                                                   PopupPosition
="Left"
                                                   PopDelay
="50"
                                                   OffsetX
="10"
                                                   OffsetY
="-5"
                                                   HoverCssClass
="cssRowHover">
                    
</ajaxToolkit:HoverMenuExtender>

                    
<%-- 确认按钮(ConfirmButton) --%>
                    
<ajaxToolkit:ConfirmButtonExtender ID="cbeDelete" runat="server"
                                                       TargetControlID
="lnkBtnDel"
                                                       ConfirmText
="确定要删除吗?">
                    
</ajaxToolkit:ConfirmButtonExtender>
                  
</asp:Panel>
                
</ItemTemplate>
                
<HeaderTemplate>
                  
<table>
                    
<tr>
                      
<td colspan="5" align="center" bgcolor="#ccffff">
                        
<font color="black" size="+2"><strong>员工信息列表</strong></font>
                      
</td>
                    
</tr>
                    
<tr bgcolor="#cc00ff">
                      
<td align="center" width="100px">
                        
<font color="white"><strong>员工号码</strong></font></td>
                      
<td align="center" width="100px">
                        
<font color="white"><strong>姓名</strong></font>
                      
</td>
                      
<td align="center" width="50px">
                        
<font color="white"><strong>性别</strong></font>
                      
</td>
                      
<td align="center" width="100px">
                        
<font color="white"><strong>邮政编码</strong></font>
                      
</td>
                      
<td align="center" width="450px">
                        
<font color="white"><strong>地址</strong></font>
                      
</td>
                    
</tr>
                  
</table>
                
</HeaderTemplate>                
              
</asp:TemplateField>
            
</Columns>
            
<AlternatingRowStyle BackColor="#FFF0C0" />
          
</asp:GridView>
        
</ContentTemplate>
      
</asp:UpdatePanel>

         
      
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
        ConflictDetection
="CompareAllValues"
        ConnectionString
="<%$ ConnectionStrings:Northwind %>"
        DeleteCommand
="DELETE FROM Employee WHERE EmployID = @original_EmployID AND UserName = @original_UserName AND Sex = @original_Sex AND MailCode = @original_MailCode AND Address = @original_Address"
        InsertCommand
="INSERT INTO Employee (UserName, Sex, MailCode, Address) VALUES (@UserName, @Sex, @MailCode, @Address)"
        OldValuesParameterFormatString
="original_{0}"
        SelectCommand
="SELECT EmployID, UserName, Sex, MailCode, Address FROM Employee"
        UpdateCommand
="UPDATE Employee SET UserName = @UserName, Sex = @Sex, MailCode = @MailCode, Address = @Address WHERE EmployID = @original_EmployID AND UserName = @original_UserName AND Sex= @original_Sex AND MailCode = @original_MailCode AND Address = @original_Address">
        
<DeleteParameters>
          
<asp:Parameter Name="original_EmployID" Type="Int32" />
          
<asp:Parameter Name="original_UserName" Type="String" />
          
<asp:Parameter Name="original_Sex" Type="String" />
          
<asp:Parameter Name="original_MailCode" Type="String" />
          
<asp:Parameter Name="original_Address" Type="String" />
        
</DeleteParameters>
        
<UpdateParameters>
          
<asp:Parameter Name="UserName" Type="String" />
          
<asp:Parameter Name="Sex" Type="String" />
          
<asp:Parameter Name=MailCode" Type="String" />
          
<asp:Parameter Name="Address" Type="String" />
          
<asp:Parameter Name="original_EmployID" Type="Int32" />
          
<asp:Parameter Name="originalUserName" Type="String" />
          
<asp:Parameter Name="original_Sex" Type="String" />
          
<asp:Parameter Name="original_MailCode" Type="String" />
          
<asp:Parameter Name="original_Address" Type="String" />
        
</UpdateParameters>
        
<InsertParameters>
          
<asp:Parameter Name="UserName" Type="String" />
          
<asp:Parameter Name="Sex" Type="String" />
          
<asp:Parameter Name="MailCode" Type="String" />
          
<asp:Parameter Name="Address" Type="String" />
        
</InsertParameters>
      
</asp:SqlDataSource>
    
</form>
  
</center>
</body>
   
运行结果:
    
    当鼠标移到数据行上时显示如下:
 
    移到第4条记录上,单击"编辑"后,

单击确定后,就把记录更新。否则,放弃修改。
基于数据挖掘的音乐推荐系统设计与实现 需要一个代码说明,不需要论文 采用python语言,django框架,mysql数据库开发 编程环境:pycharm,mysql8.0 系统分为前台+后台模式开发 网站前台: 用户注册, 登录 搜索音乐,音乐欣赏(可以在线进行播放) 用户登陆时选择相关感兴趣的音乐风格 音乐收藏 音乐推荐算法:(重点) 本课题需要大量用户行为(如播放记录、收藏列表)、音乐特征(如音频特征、歌曲元数据)等数据 (1)根据用户之间相似性或关联性,给一个用户推荐与其相似或有关联的其他用户所感兴趣的音乐; (2)根据音乐之间的相似性或关联性,给一个用户推荐与其感兴趣的音乐相似或有关联的其他音乐。 基于用户的推荐和基于物品的推荐 其中基于用户的推荐是基于用户的相似度找出相似相似用户,然后向目标用户推荐其相似用户喜欢的东西(和你类似的人也喜欢**东西); 而基于物品的推荐是基于物品的相似度找出相似的物品做推荐(喜欢该音乐的人还喜欢了**音乐); 管理员 管理员信息管理 注册用户管理,审核 音乐爬虫(爬虫方式爬取网站音乐数据) 音乐信息管理(上传歌曲MP3,以便前台播放) 音乐收藏管理 用户 用户资料修改 我的音乐收藏 完整前后端源码,部署后可正常运行! 环境说明 开发语言:python后端 python版本:3.7 数据库:mysql 5.7+ 数据库工具:Navicat11+ 开发软件:pycharm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值