asp:菜单悬停弹出“安全信息”,我该如何修复?

时间:2010-08-23 20:32:38

标签: .net asp.net internet-explorer-6 popup

alt text

我将鼠标悬停在我的菜单上,子菜单会展开,然后这个坏男孩就会越过屏幕。我可以在我的网站上做些什么来阻止这种情况吗?

IE6

ASPX

<%@ Page Title="" Language="C#" MasterPageFile="~/Templates/MyPage.master" AutoEventWireup="true"
    CodeFile="Tasks.aspx.cs" Inherits="UI_MyPage_Tasks" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <table>
        <tr valign="top">
            <td>
                <asp:Menu ID="menu1" runat="server" OnMenuItemClick="menu1_MenuItemClick" />
            </td>
            <td>
                <cc:CustomUserControl ID="cuc1" runat="server" />
            </td>
        </tr>
    </table>

aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using VAC.Data;

public partial class UI_Patient_Tasks : BasePage
{
    MyDB db = new MyDB();
    private MenuItem UserRole1MenuItem { get { return GetMenu(Common.Role.UserRole1); } }
    private MenuItem UserRole2MenuItem { get { return GetMenu(Common.Role.UserRole2); } }

    private MenuItem GetMenu(string roleName)
    {
        int roleID = (from r in db.Roles where r.RoleName == roleName select r.RoleID).First();
        MenuItem main = new MenuItem(roleName + " Menu");
        foreach (CustomObject co in (from c in db.CustomObjects where c.RoleID == roleID orderby c.SortOrder select c))
            main.ChildItems.Add(new MenuItem(co.Description, co.CustomObjectID.ToString()));
        return main;
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            menu1.Items.Clear();
            if (User.IsInRole(Common.Role.UserRole1))
                menu1.Items.Add(UserRole1MenuItem);
            if (User.IsInRole(Common.Role.UserRole2))
                menu1.Items.Add(UserRole2MenuItem);
        }
    }
    protected void menu1_MenuItemClick(object sender, MenuEventArgs e)
    {
        int id;
        if (int.TryParse(e.Item.Value, out id))
        {
            cuc1.CustomObjectID = id;
        }
    }
}

    </asp:Content>

3 个答案:

答案 0 :(得分:2)

看起来您正在通过ssl(即https://)为您的网站提供服务,但服务于某些内容,几乎肯定是菜单中的内容 - 例如http://上的图片,因此您'重新收到“混合模式”警告。

查看菜单的标记,并在.aspx页面中查找任何http://网址(如果您动态构建菜单,可能会查找代码隐藏),其中https://或反之亦然。

答案 1 :(得分:1)

确保通过https引用所有图像或外部资源。

答案 2 :(得分:0)

Hooray我找到了解决办法。

问题出在PopOut_Show函数中。 MS做了一些奇怪的儿童框架的事情。 我删除了它,一切正常!