PDA

View Full Version : مشکل معروف عدم نمایش عکس!!



imanasp
چهارشنبه 17 خرداد 1391, 06:22 صبح
من آدرس عکسهام رو در دیتابیس ذخیره می کنم و از کد زیر برای نمایش تصویر استفاده می کنم

<a class="zoom" href='<%# Eval("imgAddress") %>' style="cursor: crosshair;">
<asp:Image ID="Image1" runat="server" CssClass="project-img" width="210" height="139"
ImageUrl='<%#Eval("imgAddress") %>' />
کنترل image درست کار می کنه و تصویر رو با سایز تعیین شده نشون میده، اما لینک درست کار نمی کنه و توی پلاگین jquery که استفاده کردم خطای عدم لود شدن تصویر رو میده
ذخیره عکسها در دیتا بیس به صورت: Gallery/5.jpg/~
زمان استفاده از پلاگین: Gallery/5.jpg/~/نام سایت
که مشخصه همین قسمت /~/ مشکل داره ولی نمی دونم چطوری به این(Gallery/5.jpg/نام سایت) شکل تغییر بدمش

Saman Hashemi
چهارشنبه 17 خرداد 1391, 08:52 صبح
نیازی نیست آدرس عکس ذخیره کنید فقط اسمش ذخیره کنید و توی Eval فرمت آدرس بسازید...!
Eval("Name","images/{0}")

m.akar
چهارشنبه 17 خرداد 1391, 10:50 صبح
به جای استفاده از تگ a از کنترل hyperlink استفاده کنید. مشکل اینجا است که وقتی از تگ a استفاده می کنید در واقع از html استفاده می کنید و نه از asp بنابراین آدرسی که تگ a می گیرد علامت ~ را نمی تواند ترجمه کند و آن را به عنوان قسمتی از مسیر فایل می شناسد. اما زمانی که از hyperlink استفاده می کنید در واقع از کنترل asp استفاده می کنید که علامت ~ در هنگام رندر تبدیل به آدرس روت سایت شما می شود( همانگونه که در Image شما این تبدیل انجام می شود).

imanasp
چهارشنبه 17 خرداد 1391, 11:20 صبح
به جای استفاده از تگ a از کنترل hyperlink استفاده کنید. مشکل اینجا است که وقتی از تگ a استفاده می کنید در واقع از html استفاده می کنید و نه از asp بنابراین آدرسی که تگ a می گیرد علامت ~ را نمی تواند ترجمه کند و آن را به عنوان قسمتی از مسیر فایل می شناسد. اما زمانی که از hyperlink استفاده می کنید در واقع از کنترل asp استفاده می کنید که علامت ~ در هنگام رندر تبدیل به آدرس روت سایت شما می شود( همانگونه که در Image شما این تبدیل انجام می شود).
وقتی موس روی عکس میره تصویر با jquery بزرگ میشه برای همین از a استفاده کردم

imanasp
چهارشنبه 17 خرداد 1391, 11:43 صبح
نیازی نیست آدرس عکس ذخیره کنید فقط اسمش ذخیره کنید و توی Eval فرمت آدرس بسازید...!
Eval("Name","images/{0}")
این روی هاست هم جواب میده؟

m.akar
چهارشنبه 17 خرداد 1391, 13:15 عصر
فرقی ندارد hyperlink هم به یک تگ a رندر می شود. نکته ای که دارد این است که اگر jquery شما از کلاس zoom برای تشخیص آنچه بزرگنمایی می کند استفاده می کند( چون من ندیدم که به تگ a خود Id داده اید) کافی است در hyperlink ویژگی cssClass رو روی zoom تنظیم کنید. رندر خروجی تبدیل به تگ a شما در پست اول می شود.

imanasp
چهارشنبه 17 خرداد 1391, 16:54 عصر
چون من ندیدم که به تگ a خود Id داده اید.

<a class="zoom" href='<%# Eval("imgAddress") %>'

m.akar
چهارشنبه 17 خرداد 1391, 19:48 عصر
منظورم از id چیزی شبیه به این بود:

<a class="zoom" id="Image" href='<%# Eval("imgAddress") %>'

sasanrstm
پنج شنبه 18 خرداد 1391, 22:41 عصر
سلام imanasp من نگرفتم مشگل شما چي بود اما بعضي وقتها مرورگر اينترنت ايكسپلور براي لود شدن عكس در سايز بزرگ با كنترل image مشگل داره بهتره از تگ SRC= استفاده كني يا id رو به يك div ياtd نسبت دهي منم همين مشگل و داشتم عكسها تو سايز بزرگ نشون داده نميشد