PDA

View Full Version : نحوه ساخت یک منوی Right To Left در ASP.NET



looke_Khosh_Shans
سه شنبه 23 مهر 1387, 14:33 عصر
با سلام به آقای بهروز راد
من اول سرچ زدم در مورد منو.
5 صفحه مطلب داد که 95 درصدش اصلا در مورد منوها نبود و 5 درصد بقیه هم که حل نشده و لینکش رو میزارم تا آقایان مدیرها ببینن و این رو پاک نکنن:

1- http://barnamenevis.org/forum/showthread.php?t=117943&highlight=%D9%85%D9%86%D9%88

2- http://barnamenevis.org/forum/showthread.php?t=111929&highlight=%D9%85%D9%86%D9%88

3-http://barnamenevis.org/forum/showthread.php?t=110442&highlight=%D9%85% D9%86%D9%88

4- http://barnamenevis.org/forum/showthread.php?t=102280&highlight=%D9%85%D9%86%D9%88

و مخصوصا این که اصلا جواب نداد: این رو برای اساتیدی گذاشتم که اول بخونن و از اینها نزارن:

5- http://barnamenevis.org/forum/showthread.php?t=117068&highlight=%D9%85%D9%86%D9%88

و البته به خاطر این تاپیک که برای آقای راد گذاشته بودن من این کار رو کردم: http://barnamenevis.org/forum/showthread.php?t=113838&highlight=%D9%85%D9%86%D9%88


البته به خاطر زحماتشون تشکر می کنم.


سوال بنده این است که چطور میشه یک منوی Right Toleft کامل ، با ابزار SiteMap خود ASP.NET درست کرد که راست چین باشه و تمام عکسهاش هم بره به سمت راست. مثل عکس ضمیمه.


با تشکر فراوان:تشویق:

raravaice
سه شنبه 23 مهر 1387, 15:00 عصر
شما سئوالت رو درست در یه جمله بپرس، چرا دفاعیه صادر کردی ;)
بهترین راه کار شما استفاده از CSS هست که باید بر حسب نیاز خودت تدارک ببینی. من خودم تا حالا از این گزینه توی ASP.NET استفاده نکرم و نخواهم کرد به همین دلیلی که میبینی. "انعطاف دادن به این دسته از کنترل ها خیلی سخته"

موفق باشید

nazaninam
جمعه 26 مهر 1387, 10:59 صبح
منو های دات نت رو نمیتونی به این سادگی راست به چپ کنی (زیر منو ها از سمت چپ باز میشوند)
در چند مقاله هندی و عربی با استفاده از CssFriendly و کمی دستکاری Css این کار را انجام داده بودند ولی به نظرم از خیر این منوهای دات نت بگذر و خودت یکی بسازی بهتره

ISFAHAN
سه شنبه 26 آذر 1387, 15:30 عصر
<div dir="rtl">
<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource2" DynamicPopOutImageUrl="~/arrow_left.gif"
StaticPopOutImageUrl="~/arrow_left.gif">
<DataBindings>
<asp:MenuItemBinding DataMember="SiteMapNode" />
</DataBindings>
</asp:Menu></div>

تگ dir را اضافه كن مشكلت حل مي شه ...

Hossis
یک شنبه 21 تیر 1388, 14:35 عصر
به نظر من بايد دايرکشن صفحه رو راست به چپ کرد يعني اين کد رو بنويسيد

<html Dir=rtl>
<Body dir=rtl>

jingiliboyz
سه شنبه 04 اسفند 1388, 16:15 عصر
منو های دات نت رو نمیتونی به این سادگی راست به چپ کنی (زیر منو ها از سمت چپ باز میشوند)
در چند مقاله هندی و عربی با استفاده از CssFriendly و کمی دستکاری Css این کار را انجام داده بودند ولی به نظرم از خیر این منوهای دات نت بگذر و خودت یکی بسازی بهتره

با سلام اينكه ميگيد خودمون درست كنيم چه راحي رو پيشنهاد ميكنيد كه منو همراه زير منو بتونيم درست كنيم

Silverboy
سه شنبه 04 اسفند 1388, 22:41 عصر
منو های .net با یک خاصیت dir="rtl" به راحتی راستچین میشن ...
اما مشکل فقط این نیست .. در این صورت تمام زیر منو ها به جای اینکه از راست align بشن از سمت چپ align میشن ( درست مثل حالت ltr )

حالا اگه شما عرض منو هات ثابت باشه و منو هات یک سطحی باشن میتونی از خاصیت DynamicHorizonalOffset استفاده کنی و منو هات رو به صورت دستی راست چین کنی ولی اگر که منو هات چند سطحی باشن استفاده از این خاصیت مکافاتت رو بیشتر میکنه چون مبنای محاسبه رو از انتهای چپ منو در نظر گرفته ... بنابراین فاتحه مع الاخلاص و الصلوات ....!

استفاده از cssfriendly هم مشکلات خاص خودشو داره

در نهایت اگر میتونی از خیر منو های .net بگذری ، بگذر ....

ASP.NET2
سه شنبه 04 اسفند 1388, 23:24 عصر
سلام
ببین این به دردت می خوره .همش با CSS هستش .می تونی دستکاریش کنی.

fa_karoon
چهارشنبه 05 اسفند 1388, 01:18 صبح
سلام من نمونه کد خودم رو می ذارم زیر منوهام از راست باز می شه تنها مشکل اینه که وقتی خاصیت Dynamichorizontaloffset رو مقدار دهی کنی برای اینکه منوی باز شده رو نسبت به تیتر اصلی آن تراز کنی و به چپ بفرستی زیر منوی بعدی از منوی باز شده فاصله می گیره پس بهتره 0 باشه در سایت های مختلف هم همینطور بود


<asp:Menu
ID="Menu2" runat="server" Orientation="Horizontal" Height="27px"
StaticBottomSeparatorImageUrl="~/Images/tebyan_85_no2.gif"
StaticEnableDefaultPopOutImage="False" Width="78px"
DynamicVerticalOffset="5"
DynamicEnableDefaultPopOutImage="False"
DynamicPopOutImageUrl="~/Images/tebyan_85_no2.gif">

<StaticMenuItemStyle Font-Bold="True" />

<DynamicMenuStyle HorizontalPadding="2px" />

<DynamicMenuItemStyle ItemSpacing="2px" BackColor="#E2E2E2"
HorizontalPadding="0px" />

<Items>

<asp:MenuItem Text="didanyha" Value="Visual">

<asp:MenuItem Text="¢­ںيی©">

<asp:MenuItem Text="ىیپëي¢یھê" Value="IsHyp" NavigateUrl="~/Gallery.aspx?n=IsHyp"></asp:MenuItem>
<asp:MenuItem Text="نی©ىیپëي¢یھê" Value="NoHyp" NavigateUrl="~/Gallery.aspx?n=NoHyp"></asp:MenuItem>
</asp:MenuItem>

<asp:MenuItem Text="هںیé ىںی ©يںë¬ëں«ی" Value="Files" NavigateUrl="~/Gallery.aspx?n=Files"></asp:MenuItem>

</asp:MenuItem>

</Items>

</asp:Menu>

Hadi_Fayyaz
پنج شنبه 06 اسفند 1388, 01:47 صبح
سلام دوستان عزيز
من تو ASP تازه كارم و مشكل شما رو داشتم با خوندن مطالب شما و جمع بندي اونها به يه راه حل ساده رسيدم نميدونم تا چه حدي اين راه حل ميتونه كارآمد باشه اما در هر حال مشكل راست چين شدن منو و زير منو هاش در زمان طراحي و بدون اينكه نياز به كد نويسي باشه براي من حل شد
نكته ظريف اين كار اينجا بود كه من يه سايت جديد ايجاد كردم و قبل از هر كاري روي صفحه خالي كليك كردم و كليد CTRL+RightShift رو فشار دادم اونوقت صفحه اصلي پروژه راست به چپ شد بعد كه منو رو روي صفحه گذاشتم منو خودبه خود راست به چپ ظاهر شد. حتي زير منو ها هم راست به چپ شد. هيچ مشكلي هم پيش نيومد فقط مشكل شكلك فلش سمت راست وجود داشت كه راه حلش رو تو همين تاپيك دوستان محبت كرده بودن و نوشته بودن
به هر حال اين راه حلي بود كه من بهش رسيدم و مشكلم ساده تراز اوني كه فكر ميكردم حل شد.

Silverboy
شنبه 08 اسفند 1388, 14:52 عصر
میشه دقیقا بگین که چه کاری کردید ؟
یا لاقل یه پروژه نمونه کوچیک قرار بدبن تا سایرین هم ببینند ...
مرسی

Hadi_Fayyaz
شنبه 08 اسفند 1388, 15:45 عصر
میشه دقیقا بگین که چه کاری کردید ؟
یا لاقل یه پروژه نمونه کوچیک قرار بدبن تا سایرین هم ببینند ...
مرسی

سلام دوست عزيز
ببين اين مسئله ساده تر از اوني كه فكر ميكنيد حل ميشه در واقع منم همين مشكل رو داشتم اما با خوندن مطالب اين تاپيك ايده گرفتم
يكي از دوستان راهنمايي كرده بود كه صفحه اصلي رو راست به چپ كنيد و كدي هم براي اون نوشته بود.
من از اون كد استفاده نكردم فقط مراحل زير رو انجام دادم
1- يك Website جديد در VS ايجاد كردم
2- روي صفحه خالي تو حالت Desine كليك كردم و كليد هاي CTRL+Right Shift رو فشار دادم با اين كار كل صفحه Desine راست به چپ شد
3- يك منو به صفحه اضافه كردم و آيتم هاش رو تنظيم كردم
4- همه چيز راست به چپ بود به جز شكلك فلش كه روي آيتم هاي زيرمجموعه دار ظاهر ميشه منم يه شكلك ديگه درست كردم و تو قسمت StaticPopoOutImageURL اون شكلك رو اضافه كردم تا جايگزين شكلك قبلي بشه
كل كار همين بود
حالا هم يه نمونه سايت كه يه منو داره كه همينطور طراحي كردم براتون UpLoad ميكنم
راستش خودم هم هنوز باور نكردم كه اين مشكل اينقدر راحت حل بشه.

ghrzarei
یک شنبه 09 اسفند 1388, 23:31 عصر
عزیزم از JSMenuMaker که به صورت رایگان است استفاده کن در کمتر از 30 ثانیه پیچیده ترین منوها را می تونی طراحی کنی . از راست به چپ و ... راستی این برنامه انواع خروجی داره CSS ، جاوا و... که می تونی توی برنامه ات استفاده کنی.

Silverboy
دوشنبه 10 اسفند 1388, 01:00 صبح
نه دوست عزیز ... به این راحتی هم که شما میگید نیست !!!!!
متاسفانه مشکل همچنان پابرجاست ...
فقط شما چون در حالت عمودی از کنترل menu استفاده کردید متوجهش نشدید
هنوز هم زیر منو ها به جای این که از راست align بشن از چپ align میشن ... در آخر بگم که اون ctrl + rightshift هم کار اعجاب آوری انجام نمیده صرفا کل صفحه ( تگ body ) رو rtl میکنه که اصلا چیز جالبی نیست ... مخصوصا برای کسی که میخواد با css صفحه ش رو layout کنه ..
توصیه میکنم که به جای rtl کردن کل صفحه کنترل منو رو داخل یه div بزاری و اون div رو rtl کنی

در هر صورت ممنون که وقت گذاشتی ...

prefect
چهارشنبه 25 فروردین 1389, 13:32 عصر
سلام
تو قسمت body باید dir="rtl" قراربدی درست می شه.

hadilionson
شنبه 12 آذر 1390, 20:35 عصر
در این شرایط راه حل خوبیه، باید تنها یه عکس که مربوط به فلش سمت چپ است را وارد کنید.

mohamad125
یک شنبه 28 اردیبهشت 1393, 03:31 صبح
:قهقهه: :قهقهه: :قلب: :متعجب: :عصبانی::اشتباه::متعجب::متعج :

mohamad125
دوشنبه 29 اردیبهشت 1393, 23:24 عصر
اگر در ویژوال یک وبسایت جدید در فرییم ورک4ایجاد کنید در وب پیجی که خود برنامه به طور پیشفرض ایجاد کرده است یک منوی زیبا اما چپ به راست وجود ذارد برای راست به چپ کردن ان دیو
<div class="clear hideSkiplink">را در سورس مستر پیج پیدا کنید وان را به <div dir="rtl" style="height: 63px" align="right" >تبدیل کنید وبرای این دیوهیچ کلاس سی اس اسی تعریف نکنید.به همین سادگی

ahnd92
شنبه 28 تیر 1393, 00:29 صبح
منم الان این مشکل رو داشتم
فیلد renderingMode توی asp:menu اگر بهش مقدار table رو بدیم درست میشه

z.rezaie
دوشنبه 01 تیر 1394, 02:49 صبح
سلام
تو قسمت body باید dir="rtl" قراربدی درست می شه.

سلام دوست عزیز منم همین مشکل رو دارم اما من منو رو در web user control قرار دارم و متاسفانه تگ بادی و... نداره نمیدونم چیکار کنم
از تگ div هم قبل از کدهای منو استفاده کردم اما تاثیری نداشت