asp: при наведении меню появляется «Информация о безопасности», как мне это исправить? - PullRequest
2 голосов
/ 24 августа 2010

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 ]

2 голосов
/ 24 августа 2010

Похоже, что вы обслуживаете свой сайт через ssl (т.е. https://), но обслуживаете часть контента, почти наверняка что-то в меню - например, изображение более http://, следовательно, вы получаете " смешанный режим "предупреждение.

Просмотрите разметку для вашего меню и найдите любые http:// URL-адреса на странице .aspx (или, возможно, ваш код, если вы строите меню динамически), где должно быть https:// или наоборот.

1 голос
/ 24 августа 2010

Убедитесь, что все изображения или внешние ресурсы указаны через https.

0 голосов
/ 30 октября 2010

Ура, я нашел исправление.

Проблема в функции PopOut_Show.MS делает какую-то странную детскую рамку.Я удалил его, и все работает хорошо!

...