PDA

View Full Version : سوال: در مورد Menu



anamajnoonolhosein
یک شنبه 15 شهریور 1388, 10:14 صبح
دوستان با عرض سلام و آرزوی قبولی طاعات و عبادات شما
من در یک صفحه از سایتم دوتا menu دارم که برای هر کدوم گزینه های مختلف در نظر گرفتم
من می خوام این منوهارو به web.sitemap به وسیله SiteMapDataSource وصل کنم
حالا
آیا باید برای هر کدوم از منوها یک web.sitemap در نظر بگیرم یا با تنها یه web.sitemap کارم انجام می شه ؟
لطفاً منو راهنمائی بفرمائید که این کار رو به چه صورت انجام بدم

anamajnoonolhosein
یک شنبه 15 شهریور 1388, 13:53 عصر
دوستان ، کسی نیست منو راهنمائی کنه

Ali1400
چهارشنبه 18 شهریور 1388, 06:13 صبح
هر چند تا که دوست داری می توانی منو با web.sitemap جداگانه و مستقل داشته باشی چه در یک صفحه و چه در صفحات مختلف یک سایت. فقط باید کارهای زیر را انجام بدهی:
هر منویی را که به صفحه انداختی خوب باید یک SiteMapDataSource را هم به صفحه اضافه کنی که منو را به SiteMapDataSource مقید کنی و SiteMapDataSource هم به طور پیش فرض با web.sitemap پیش فرض ارتباط دارد. حالا برای داشتن چند منو با web.sitemap جداگانه:
1- منوی اول را که به صفحه انداختیم و نیز SiteMapDataSource را هم اضافه کردیم و این دو را به هم وصل کردیم، برای منو خواهیم داشت


<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1"
DynamicHorizontalOffset="2" Font-Names="B Traffic,arial" Font-Size="12px" ForeColor="White"
MaximumDynamicDisplayLevels="10" Orientation="Horizontal" StaticDisplayLevels="2"
StaticSubMenuIndent="10px" .
.
.
.
<DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
<StaticHoverStyle BackColor="Gray" ForeColor="White" CssClass="sarmenu_h" />
</asp:Menu>

و برای SiteMapDataSource خواهیم داشت


<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" SiteMapProvider="SiteMap1"" />

که ما در تنظیمات SiteMapDataSource1 تگ قرمز رنگ را اضافه کردیم ، یعنی SiteMapDataSource1 را به جای فایل پیش فرض web.sitemap به فایل سایت مپی که خودمان با نام sitemap1 ساختیم(از طریق اضافه کردن new item از نوع سایت مپ به پروژه ، حالا در هر جای پروژه که خواستیم در روت سایت یا داخل یک پوشه) مرتبط کردیم
2-منو یا منوهای بعدی را هم که به پروژه چه در همان صفحه یا صفحات دیگر در هر جای سایت اضافه کردیم ، به همان ترتیب بالا، فقط قسمتهای قرمز رنگ را به صورت زیر تغییر میدهیم
منوی دوم( menu2 )به صورت زیر:
SiteMapDataSource2
و برای SiteMapProvider2:
SiteMapProvider="SiteMap2

منوی سوم( menu3 )به صورت زیر:
SiteMapDataSource3
و برای SiteMapProvider3:
SiteMapProvider="SiteMap3
.
.
.
منوی آخر( menu n )به صورت زیر:
SiteMapDataSource n
و برای SiteMapProvider2:
SiteMapProvider="SiteMap n

3- حالا چند تا SiteMapProvider داریم با نامهای مختلف(SiteMap1 و SiteMap2 و SiteMap3 و SiteMap n) که ما بایدمسیر فایلهای سایت مپ هر کدام را به آن بشناسیم گه این کار را در web.config به صورت زیر ما بیت تگهای <system.web> قرار می دهیم:


<configuration>
<system.web>
<siteMap>
<providers>
<add name="SiteMap1" type="System.Web.XmlSiteMapProvider" siteMapFile="~/folder-test/SiteMap1.sitemap"/>
<add name="SiteMap2" type="System.Web.XmlSiteMapProvider" siteMapFile="~/SiteMap2.sitemap"/>
<add name="SiteMap3" type="System.Web.XmlSiteMapProvider" siteMapFile="~/SiteMap3.sitemap"/>
.
.
.
<add name="SiteMap ?" type="System.Web.XmlSiteMapProvider" siteMapFile="~/folder-n/SiteMapn.sitemap"/>
</providers>
</siteMap>

</system.web>
</configuration>

که در این مثال فایل سایت مپ منوی یک در پوشه folder-test قرار دارد و منوی دوم و سوم در روت سایت قرار دارند و الی آخر

به همین راحتی می توان چندین منو با فایل سایت مپ جداگانه داشت.