2010-08-23 84 views
2

VS2010附帶的演示Web項目包含一個system.web.ui.webcontrols.menu控件。當我將IncludeStyleBlock屬性設置爲True時,爲什麼CSS會「丟失」?

該特定菜單包含IncludeStyleBlock屬性。

當IncludeStyleBlock屬性設置爲False時,菜單會按照它的設置顯示。如果我將該屬性設置爲True,菜單將被銷燬。所以這裏是我的主要問題...

是否有任何方法保持菜單的出現,IncludeStyleBlock屬性設置爲false?

P.S.我必須將它設置爲False ...因爲我的提供程序不支持第四代.NET框架。

+0

您是否仔細檢查了生成的html以查看該代碼中實際上沒有該菜單? – 2010-08-31 22:37:38

回答

0

你在你的問題中錯過了。首先,當IncludeStyleBlock屬性設置爲False時,菜單是完美的,並且在True時斷開。然後你說它在False時被破壞,並且你想要一個在False下工作的解決方法。

正因爲如此混亂的我立足這個答案關閉您希望在IncludeStyleBlock設置爲true模仿的默認樣式由ASP.NET設定的假設,但同時保持IncludeStyleBlock="False"

第一:由於菜單當IncludeStyleBlock="True"完美顯示時,您需要將其設置爲true並預覽呈現的源代碼。從源代碼中可以找到Menu控件默認生成的默認CSS塊的副本。這是你需要的。

第二個:一旦你有CSS塊,只需複製並粘貼到你的標記(內聯或外部)。一旦你這樣做了,你可以製作IncludeStyleBlock="False",現在的內聯/外部CSS塊將保留菜單的外觀。 (作爲獎勵,這是緩存CSS的一小部分性能提升)

1

如果生成元素有id和類,你可以用一個普通的CSS文件來設置它們。該選項是否打開生成內聯CSS?如果是這樣你可以複製到一個外部文件開始

1

請問this page給你一些線索,具體在備註節?

簡而言之,如果將該屬性設置爲false,則必須在頁面中提供「自己的CSS定義塊,或者包含指向包含定義的外部CSS文件的鏈接。」另外,您將無法設置樣式屬性。

因此,相反,如果將該屬性設置爲true,則會忽略您提供的樣式屬性。

相關問題