Название задает вопрос.Вот сценарий:
Вы создаете сайт с ASP.NET 4.0 / C #, хотя для этого примера подходит только один xml.Сайт будет иметь карту сайта и страницу по умолчанию с элементом управления меню следующим образом:
Web.sitemap
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/default.aspx" title="Home" description="">
<siteMapNode url="~/1.aspx" title="Link 1" description="" />
<siteMapNode url="~/2.aspx" title="Link 2" description="" />
<siteMapNode url="~/3.aspx" title="Link 3" description="" />
<siteMapNode url="~/4.aspx" title="Link 4" description="" />
<siteMapNode url="~/5.aspx" title="Link 5" description="" />
</siteMapNode>
</siteMap>
Web.config
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<pages theme="Default" clientIDMode="AutoID">
</pages>
</system.web>
</configuration>
Default.aspx
Примечание. Отображается только содержимое элемента <form>
.
<asp:Menu
ID="navMenu"
DataSourceID="srcSiteMap"
StaticEnableDefaultPopOutImage="false"
RenderingMode="list"
CssClass="navMenu"
runat="server">
</asp:Menu>
<asp:SiteMapDataSource ID="srcSiteMap" runat="server"
ShowStartingNode = "false" />
StyleSheet.css
_Примечание: Этот файл включен в ~/App_Themes/Default/
и указан в
Web.config._
body {
width:800px;
margin:0px auto;
}
.navMenu {
background-color:Yellow;
}
При использовании этих файлов механизм asp.net 4.0 продолжит отображать столбец неработающих ссылок.Я не могу объяснить, почему этот столбец имеет ширину только самой широкой ссылки, а не ширину тела элемента размером 800 пикселей.Даже если для класса .navMenu
css указано width:auto;
, это так и остается.Однако, если вы укажете width:100%;
или width:800px;
, это решит проблему, какой бы она ни была.
Теперь я едва ли являюсь мастером CSS или движком asp.net, но смотрю наисточник страницы, я просто не могу найти никакого объяснения.Возможно, я упускаю из виду очевидное, но во имя науки я надеюсь узнать правду!Если кто-то найдет время для создания нового решения для визуальной студии или просто узнает, что у него в голове, я буду признателен.