ASP.NET 3.5 및 C#을 사용하는 웹 응용 프로그램에서 작업하고 있습니다. 구조적으로, 나는 그것에 메뉴 컨트롤을 가진 마스터 페이지를 가지고있다. 컨트롤은 내 탐색 역할을하며 SiteMapDataSource 컨트롤과 해당 Web.sitemap 파일에서 항목을 가져옵니다.마스터 페이지의 메뉴 컨트롤에서 CSS 스타일을 사용하지 못했습니다.
CssClass 속성을 지정할 때 일부 스타일이 제대로 렌더링되지 않는 것이 문제입니다. 더 구체적으로 말하자면, 선택한 스타일과 호버 스타일은 CSS 스타일에 응답하지 않습니다. 나는 다음에 해당 .CSS 파일을했다
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="Site" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>A webpage</title>
</head>
<body>
<form id="form1" runat="server">
<div id="page">
<asp:Menu
ID="navMenu"
Orientation="Horizontal"
StaticMenuStyle-CssClass="staticMenu"
StaticMenuItemStyle-CssClass="staticMenuItem"
StaticSelectedStyle-CssClass="staticSelectedItem"
StaticHoverStyle-CssClass="staticHoverItem"
runat="server">
</asp:Menu>
<asp:SiteMapDataSource ID="srcSiteMap" runat="server" ShowStartingNode="false" />
<br />
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
가정하자 : 무슨 일이 일어날 지
.staticMenuItem { background-color:Red; }
.staticSelectedItem { background-color:Green; }
.staticHoverItem { background-color:Blue; }
내 항목 배경이 제대로 빨간색,하지만 것입니다 내 선택 항목을하지 않습니다 아래의 코드를 살펴 보자 초록색이어야하고 마우스를 가져 가면 파란색으로 표시되지 않습니다. 이것은 마스터 페이지의 헤드에 스타일을 포함할지 또는 web.config 파일에 지정된 기본 테마의 외부 파일에 스타일을 포함할지 여부와 상관없이 사실입니다.
내가 지금처럼 asp.net XML의 스타일을 지정하는 경우는 :
<asp:Menu
ID="navMenu"
Orientation="Horizontal"
runat="server">
<StaticSelectedStyle
BackColor="Green"
Font-Underline="True"
Font-Bold="True" />
<StaticHoverStyle
BackColor="Gray" />
</asp:Menu>
파이어 폭스에서 제대로 작동하려면 나타나지만 스타일은 Internet Explorer에서 HTML에 포함되지 않습니다. 이상한.
누구에게이 문제의 원인에 대한 통찰력이 있으며 어떻게 해결할 수 있습니까? 나는 프로그래밍 방식으로 현재 페이지를 결정하고 해당 메뉴 항목을 수동으로 선택하여 적절한 스타일 클래스를받을 수 있음을 알고 있지만이 기능을 수정하기 위해 C# 및 Javascript를 함께 해킹하기 전에 아이디어를 공개합니다. .
더 이상한,이 문제가 있지만 내 프로덕션 환경에서만 - 두 환경 모두 .NET 4가 있지만 프로덕션에서는 IIS7을 사용합니다. - 해결할 수있는 유일한 차이점이 있습니다! 좋은 답변 비록, 나는 그것을 "테이블"을 설정하고 그것을 수정하면 참조하십시오 –