IE8  Win7系统
  类似  @ 这样的符号
 public string GetMenu()
    {
        StringBuilder LeftList = new StringBuilder();//声明一个LeftList 用于后面拼接
        try
        {
            LeftList.Append("<div id=\"menu\">");
            LeftList.Append("<ul>");            DBHelper dbhmenu = new DBHelper();            DataTable Dt_TotleMenu = dbhmenu.getDetail("select * from xtmenu");
            DataRow[] drMenu = Dt_TotleMenu.Select("Menu_Fid=0 and Menu_able=1");//取出所有启用的父节点
            DataTable LeftMenuTable = new DataTable();//构建父节点的table
            LeftMenuTable = drMenu[0].Table.Clone();
            foreach (DataRow dr in drMenu)
            {
                LeftMenuTable.ImportRow(dr);
            }            if (LeftMenuTable.Rows.Count != 0)
            {
                LeftList.Append("<li id=\"m_1\" class='m_li_a'><a href=\"#\">首页</a></li>");
                for (int i = 0; i < LeftMenuTable.Rows.Count; i++)
                {
                    LeftList.Append("<li class=\"m_line\"></li>");//添加图片
                    //if (i != 0)
                    {
                        LeftList.Append("<li id=\"m_" + (i + 2) + "\" class='m_li' onmouseover='mover(" + (i + 2) + ");' onmouseout='mout(" + (i + 2) + ");'><a href=" + LeftMenuTable.Rows[i]["Menu_Url"].ToString().Trim() + ">" + LeftMenuTable.Rows[i]["Menu_Name"].ToString().Trim() + "</a></li>");
                    }
                }
                LeftList.Append("<li class=\"m_line\"></li>");
                LeftList.Append("</ul>");
                LeftList.Append("</div>");
            }
            //先拼接子菜单的前两行
            LeftList.Append("<div s6tyle=\"height:32px; background-color:#F1F1F1;\">");
            LeftList.Append("<ul class=\"smenu\">");
            LeftList.Append("<li  id=\"s_1\" class='s_li_a'><a href='desktop.aspx' target='main'>工作桌面</a></li>");            for (int j = 0; j < LeftMenuTable.Rows.Count; j++)
            {
                DataRow[] drSencondMenu = Dt_TotleMenu.Select("Menu_Fid=" + LeftMenuTable.Rows[j]["Menu_ID"] + " and Menu_able=1");
                DataTable SecondTable = new DataTable();
                SecondTable = drSencondMenu[0].Table.Clone();
                foreach (DataRow dr in drSencondMenu)
                {
                    SecondTable.ImportRow(dr);
                }
                if (SecondTable.Rows.Count != 0)//证明此父节点存在子节点
                {
                    {
                        LeftList.Append("<li  id=\"s_" + (j + 2) + "\" class='s_li' onmouseover='mover(" + (j + 2) + ");' onmouseout='mout(" + (j + 2) + ");'>");
                        //遍历拼接子节点的HTML
                        for (int k = 0; k < SecondTable.Rows.Count; k++)
                        {                            LeftList.Append("<a href=" + SecondTable.Rows[k]["Menu_Url"].ToString().Trim() + " target='main'>" + SecondTable.Rows[k]["Menu_Name"].ToString().Trim() + "</a> ");                            if (k != SecondTable.Rows.Count - 1)//如果是最后一项就不加 | 了.^_^
                            {
                                LeftList.Append("    |    ");
                            }
                        }
                    }
                    LeftList.Append("</li>");                }
            }
            LeftList.Append("</ul>");
            LeftList.Append("</div>");
            return LeftList.ToString();
                    }
        catch (Exception err)
        {
            return "没菜单";
        }
    }

解决方案 »

  1.   

       <style>
            
            #menu
            {
                height: 24px;
                margin-top: 0px;
                background-color: #acd6ff;
            }
            #menu ul
            {
                margin: auto;
                width: 778px;
                height: 24px;
                list-style-type: none;
                padding: 0px;
                margin-top: 0px;
                margin-bottom: 0px;
            }
            .m_li
            {
                float: left;
                width: 114px;
                line-height: 24px;
                text-align: center;
                margin-right: -2px;
                margin-left: -2px;
            }
            .m_li a
            {
                display: block;
                color: #FFFFFF;
                width: 114px;
            }
            .m_line
            {
                float: left;
                width: 0px;
                height: 24px;
                line-height: 24px; /*ff下有效(图片垂直居中)*/
            }        .m_li_a
            {
                float: left;
                width: 114px;
                line-height: 24px;
                text-align: center;
                padding-top: 3px;
                font-weight: bold;
                position: relative;
                height: 24px;
                margin-top: -3px;
                margin-right: -2px;
                margin-left: -2px;
            }
            .m_li_a a
            {
                display: block;
                color: #d2e9ff;
                width: 114px;
            }
            .smenu
            {
                width: 694px;
                margin: 0px auto 0px auto;
                padding: 0px;
                list-style-type: none;
                height: 24px;
            }
            .s_li
            {
                line-height: 24px;
                width: auto;
                display: none;
                height: 24px;
            }
            .s_li_a
            {
                line-height: 24px;
                width: auto;
                display: block;
                height: 24px;
            }
        </style>
      

  2.   

    跟踪进去看一下,看 SecondTable.Rows[k]["Menu_Name"].ToString().Trim() 是不是含有@符号
      

  3.   

    也有可能是
    SecondTable.Rows[k]["Menu_Url"].ToString().Trim() 这里的内容含有@符号
      

  4.   

    恩,跟踪下数据库取出来的内容,把有类似空格的地方print UNICODE(' ')看看,空格的Unicode编码是32,不是32就说明不是空格是其它的。
      

  5.   

    如果是ie9的话用开发人员工具,直接看,两个地方有什么不同如果有firefox用firebug看看不必先看c#代码,没必要,这个是客户端的事情