PDA

View Full Version : مشکل در مسیر تصاویر هنگام استفاده از masterPage



ka1_fire
جمعه 06 آذر 1388, 16:25 عصر
سلام دوستان لطفا منو راهنمایی کنین من از MasterPage در پروژه خودم استفاده کردم وقتی در یک فایل aspx که داخل یک پوشه دیگه هست از MasterPage استفاده میکنم عکس ها رو نمیشناسه و باید تمامی عکس هایی رو که در MasterPage استفاده کردم رو تو پوشه مورد نظر کپی کنم این طوری باید هر جا که از MasterPage استفاده کردم یه پوشه Image هم داشته باشم که حجم خیلی میره بالا میشه منو راهنمایی کنین.
آیا روشی هست که این مشکل MasterPage رو حل کنه؟

Geradsoft
شنبه 07 آذر 1388, 00:13 صبح
شما باید در پروژه ی خودتون یه پوشه برای عکس ها قرار بدین و تمام عکس ها را درون اون قرار بدین و وقتی میخواهید در masterpage از عکس استفاده کنید آدرس عکسی که درون پوشه هست را بدین...
پیشنهاد میکنم پروژه را دوباره ایجاد کن و این راهی که من گفتم را برو
راستی وقتی میخوای پوشه عکس را ایجاد کنی بر روی نام پروژه در ویژوال استدیو کلیک راست کن و new folder را بزن و هر عکسی که خواستی توی اون folder کپی کنی از همون صفحه ی ویژوال استدیو استفاده کن .
اگه مشکلت حل نشد خبرم کن.......
majidjan_6@yhoo.com

hadi000333
شنبه 07 آذر 1388, 01:13 صبح
مشکل شما بخاطر مسیر نسبی هست.
شما باید از کنترل های runat="server" کنید تا بتون مسیر عکس رو پیدا کنن
ویا از متد زیر استفاده کنید:

ResolveUrl("~/PathToImage");

Mostafa_Dindar
شنبه 07 آذر 1388, 01:47 صبح
شما بايد از متد ResolveClientUrl استفاده كنيد

m110_110
شنبه 07 آذر 1388, 15:18 عصر
سلام
یک راه هم اینه که آدرس عکس ها را از root بدهی که کافی در اول آدرس عکس از / استفاده کنی
مثل

src="/images/image1.jpg"
من هم دقیقا همیشه از این استفاده می کنم و جواب می گیرم

احمد سامعی
شنبه 07 آذر 1388, 18:41 عصر
حرف m110_110 از همه راحتر و بهتر هست و لازم نيست اين همه كار انجام بدي و گاهي هم اگر يادت بره با خطا مواجه بشي
من اين كار مي كنم
الف) تمام مسترپيج ها رو تو يك پوشه مي زارم
ب) تمام عكس ها رو هم تو يك پوشه ( حالا تو اين پوشه مي توني پوشه هاي ديگه هم داشته باشي يعني عكس ها رو دسته بندي كني)
اين دو تا پوشه رو تو مسير اصلي قرار بده

آخرين كار اين كه بايد هر عكسي را اينجوري مسيردهي كني:

src="../../../images/myphoto.gif"

در اينجا مي خوام عكس myphoto.gif در پوشه images نمايش بدم.
هر كدام از اين /.. يكبار مسير رو به عقب باز مي گردانه يعني در اينجا سه بار بر مي گرده
شما مي توني كمتر يا بيشتر در نظر بگيري اين بستگي داره بعداً صفحه مسترپيچ در چه مسيري استفاده بشه ما اينجا فرض كرديم نهايتاً فايلي كه از اين مستر استفاده در سه پوشه تو در تو قرار داره. اگر /.. اضافي قرار بدي مشكلي پيش نمي آيد هرچندتا هم كه باشه 10 تا اضافي هم كه باشه اما كم باشه عكس نشون داده نمي شه

روشي كه m110_110 من امتحان كردم جواب نگرفتم شايد من اشتباه كردم شما هم امتحان كن

iman_ad
شنبه 07 آذر 1388, 19:36 عصر
دو تا راه داره
راه اول

src='<%=ResolveUrl("~/PathToImage")%>'
راه دوم
تگ img ، runart=server کنی

niksoft
شنبه 07 آذر 1388, 22:50 عصر
برای گرفتن آدرس روت پروژه احتیاجی نیست چند بار از /.. استفاده بشه
کافیه که از / خالی استفاده کنی

vb_bmw
یک شنبه 08 آذر 1388, 00:05 صبح
البته روش دیگه ای هم هست که خیلی کم شناخته شده و اونم تگ Base هست که توی مستر پیج قرار میگیره و می تونه مسیر روت رو مشخص کنه...

m110_110
یک شنبه 08 آذر 1388, 08:27 صبح
سلام

اين كه گفتم كافيه يك "/" اول آدرس عكس هاتون بگذاريد تمومه
البته بايد بگم كه اين باعث ميشه كه ادرس هاتون از root‌ باشه يعني بايد در هر كجا هر پوشه كه هستيد آدرس را بايد از root در نظر بگيريد من كه تا جالا با اين مشكلي نداشتم
اميدوارم توانسته باشم درست حرفم رو درست بيان كرده باشم
ديگه runat و چيزاي ديگه لازم نيست

احمد سامعی
یک شنبه 08 آذر 1388, 22:50 عصر
اين كه گفتم كافيه يك "/" اول آدرس عكس هاتون بگذاريد تمومه


آقا حرفت درسته من دوباره امتحان كردم شد

ka1_fire
دوشنبه 09 آذر 1388, 19:58 عصر
از همه بابت راهنمایی هاشون تشکر می کنم ولی مشکل من حل نشد. چون همونطور که گفتین عکس هایی که runat="server" هستند رو میاره ولی عکسی رو که برا پس زمینه گذاشتم نه.:ناراحت:


style="background-image: url('Image/bgMenu.gif');"

همه روش هارم امتحان کردم ولی نشد.

clover
دوشنبه 09 آذر 1388, 20:30 عصر
از همه بابت راهنمایی هاشون تشکر می کنم ولی مشکل من حل نشد. چون همونطور که گفتین عکس هایی که runat="server" هستند رو میاره ولی عکسی رو که برا پس زمینه گذاشتم نه.:ناراحت:


style="background-image: url('Image/bgMenu.gif');"

همه روش هارم امتحان کردم ولی نشد.


اگر پاسخ ها را به دقت مطالعه می کردید به جواب می رسیدید. کد شما باید به این شکل تغییر کند:

style="background-image: url('/Image/bgMenu.gif');"

روش استفاده از "/" یک روش قدیمی و کارا در html هست برای آدرس دهی مطلق .

iman_ad
دوشنبه 09 آذر 1388, 20:44 عصر
گفتم که از Page.ResolveUrl استفاده کن

MOWSLEH
سه شنبه 10 آذر 1388, 14:18 عصر
نه دوست عزیز این راهها هیچکدومش درست نیست اصلاً ربطی به این چیزا نداره که شما نوشتید
شما زمانیه از مستر پیج استفاده میکنید یه پوشه بنام img مثلا البته درست میکنید تمام عکس های سایتتو توش میذاری بعد هر جا که بخای از عکس استفاده بکنی حتما و حتما باید از کنترل ایمج ASP استفاده کنی نه HTML امیدوارم مشکلتون حل بشه.

Mostafa_Dindar
پنج شنبه 12 آذر 1388, 18:12 عصر
نه دوست عزیز این راهها هیچکدومش درست نیست اصلاً ربطی به این چیزا نداره که شما نوشتید
شما زمانیه از مستر پیج استفاده میکنید یه پوشه بنام img مثلا البته درست میکنید تمام عکس های سایتتو توش میذاری بعد هر جا که بخای از عکس استفاده بکنی حتما و حتما باید از کنترل ایمج ASP استفاده کنی نه HTML امیدوارم مشکلتون حل بشه.
فتوا صادر كردي !!!؟
در صورتيكه از كنترل Image خود ASP.NET استفاده ميكنيد بايد از /~ قبل از آدرس استفاد كنيد . در صورتي كه از Image خود Html استفاده ميكنيد بهترين انتخاب استفاده از متد ResolveClientUrl هستش . به صورت زير :

<img src="<%= ResolveClientUrl("DesignSite/DesignImages/home.gif") %>"كه در اينجا عكس داخل فلدر DesignSite/DesingImages كه در root قرار گرفته
براي عكس هاي BackGround هم سعي كنيد همه اونها رو داخل فايل Css خودتون با استفاده از .. به روت آدرس دهي كنيد :

background: #FF0000 url(../../mainimg.jpg) no-repeat;با فرض اينه عكس 2 سطح داخل فلدر هست .

iman_ad
پنج شنبه 12 آذر 1388, 19:33 عصر
نه دوست عزیز این راهها هیچکدومش درست نیست اصلاً ربطی به این چیزا نداره که شما نوشتید
شما زمانیه از مستر پیج استفاده میکنید یه پوشه بنام img مثلا البته درست میکنید تمام عکس های سایتتو توش میذاری بعد هر جا که بخای از عکس استفاده بکنی حتما و حتما باید از کنترل ایمج ASP استفاده کنی نه HTML امیدوارم مشکلتون حل بشه.
لطفا حرف سنجیده بزنید و یکم مطالعه بفرمایید.
دوست عزیز راه حل همینه که دوستان گفتند.
برای کنترل های سمت کلاینت از متد resolveurl استفاده کنید

clover
پنج شنبه 12 آذر 1388, 22:08 عصر
و یاد آوری می کنم که در صورت استفاده از css و آدرس دهی نسبی، مسیر عکس ها در css باید با توجه به مسیر فایل css تعیین بشه. مثلا اگر عکس ها و فایل css در یک پوشه قرار دارند نوشتن اسم عکس کافیه .

ParsaNM
سه شنبه 07 تیر 1390, 15:04 عصر
دوستان شرمنده که دارم اين موضوع رو دوباره باز ميکنم ولي من همين مشکل رو دارم و نمي خوام يه تاپيک تازه باز کنم و همين موارد رو دوباره بشنوم ...!

من ميخوام background رو تو masterpage آدرس دهي کنم ..!
طبق نظر دوستان اين کار رو ميکنم و مشکلي نيست ... مثلا وقتي يک دايرکتوري image تو روت دارم آدرسش ميشه


../image/1.png

اين درست کار ميکنه تا وقتيکه صفحه مربوطه تو يک دايرکتوري نباشه ... اونوقت اين مسير نادرسته ...!
از ~ هم استفاده کردم ولي حتي تو حالت Design هم نمياد ...!

tomboy
سه شنبه 15 آذر 1390, 14:26 عصر
سلام

اين كه گفتم كافيه يك "/" اول آدرس عكس هاتون بگذاريد تمومه
البته بايد بگم كه اين باعث ميشه كه ادرس هاتون از root‌ باشه يعني بايد در هر كجا هر پوشه كه هستيد آدرس را بايد از root در نظر بگيريد من كه تا جالا با اين مشكلي نداشتم
اميدوارم توانسته باشم درست حرفم رو درست بيان كرده باشم
ديگه runat و چيزاي ديگه لازم نيست

به نظر من این بهترین روشه .توی طراحی وب سایت به زبان های دیگه هم از این روش استفاده میشه و دیگه لزومی نداره که هرجا یی پوشه ای باز شه و دوباره عکسا اونجا ریخته شه