PDA

View Full Version : عدم نمایش ضربدر هنگام خالی بودن تصویر یک image



elmira_63
دوشنبه 03 اسفند 1388, 15:36 عصر
سلام
چطور میشه که اگر یه image خاصیت image url اش خالی بود اون عکس ضربدر رو به جاش نشون نده؟؟؟؟

goldax
دوشنبه 03 اسفند 1388, 16:48 عصر
یکی از راه حل هایی که من استفاده می کنم البته موقعی که آدرس عکس رو از بانک اطلاعاتی می خونم این هست که اگه آدرسی وجود نداشت آدرس یک عکس پیش فرض رو بهش می دم.برای مثال:


if (dbreader["picURL"].tostring =="")
pic1.imageUrl = "tmplate/pishfarz.jpg

elmira_63
دوشنبه 03 اسفند 1388, 17:02 عصر
یکی از راه حل هایی که من استفاده می کنم البته موقعی که آدرس عکس رو از بانک اطلاعاتی می خونم این هست که اگه آدرسی وجود نداشت آدرس یک عکس پیش فرض رو بهش می دم.برای مثال:


if (dbreader["picURL"].tostring =="")
pic1.imageUrl = "tmplate/pishfarz.jpg


ممنون اینو میدونم می خوام ببینم راه اصولی تری نداره؟

goldax
دوشنبه 03 اسفند 1388, 17:07 عصر
من راه دیگه ای بلد نیستم دوست عزیز و در همه پروژه هام از همین استفاده می کنم.با 2 خط کد خیلی کم حجم و سریع کنتل میشه تصویرم.اگه راه حل مناسب تری پیدا کردی خوشحال میشم من رو هم در جریان قرار بدی.

mehdi.mousavi
دوشنبه 03 اسفند 1388, 17:37 عصر
ممنون اینو میدونم می خوام ببینم راه اصولی تری نداره؟

سلام.
راه دیگه این هستش که سمت Client، از وقوع onerror event بهنگام لود شدن صفحه برای تک تک Image ها مطلع بشید و سپس اگر مایل بودید، Image هایی که با error مواجه شدند رو حذف کنید. اینطوری دیگه Image هایی که Broken Link هستن، نمایش داده نخواهند شد.

اگر بخوام به زبان jQuery حرف بزنم، منظورم اینه:


$('img').error(function(){
//do whatever that suits your needs
});

موفق باشید.

elmira_63
سه شنبه 04 اسفند 1388, 16:22 عصر
سلام.
راه دیگه این هستش که سمت Client، از وقوع onerror event بهنگام لود شدن صفحه برای تک تک Image ها مطلع بشید و سپس اگر مایل بودید، Image هایی که با error مواجه شدند رو حذف کنید. اینطوری دیگه Image هایی که Broken Link هستن، نمایش داده نخواهند شد.

اگر بخوام به زبان jQuery حرف بزنم، منظورم اینه:


$('img').error(function(){
//do whatever that suits your needs
});

موفق باشید.

میشه بیشتر توضیح بدید ؟
من javascript بلد نیستم میشه کد کاملش رو برام بزارید؟؟ که اگه این مشکل پیش اومد عکس نشون داده نشه یا یه مثال برام بزنید؟
اگه بشه ممنون میشم

mehdi.mousavi
سه شنبه 04 اسفند 1388, 18:11 عصر
میشه بیشتر توضیح بدید؟ من javascript بلد نیستم میشه کد کاملش رو برام بزارید؟؟ که اگه این مشکل پیش اومد عکس نشون داده نشه یا یه مثال برام بزنید؟
اگه بشه ممنون میشم

سلام.
کد کاملش اینه:


$('img').error(function() {
$(this).remove();
});


این کد چیکار داره میکنه؟ داره میگه، سمت client، هر وقت متوجه عکسی شدی که URL به اون شکسته شده بود، اون عکس رو از روی صفحه حذف کن. به همین سادگی. برای استفاده از کد فوق، ابتدا باید jQuery رو Download کنید (http://jquery.com/)، سپس اونو در هدر فایل ASPX خودتون قرار بدید و بعد داخل ready handler کد فوق رو بنویسید. بعبارت دیگه، این کد رو توی header فایل قرار بدید:

(دقت کنید که URL به فایل jQuery رو باید درست کنید!)

<script type="text/javascript" src="/JScript/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(function() {
$('img').error(function() {
$(this).remove();
});
});
</script>

موفق باشید.

ASPX
سه شنبه 04 اسفند 1388, 18:55 عصر
از
Sytem.Io.File.Exists برای وجود فایل استفاده کنید یک تابع بنویسن که با iF چک کنه آیا فایل هست یا نه

mmnoody2006
سه شنبه 04 اسفند 1388, 19:06 عصر
ببین اگه ساده ترین راهش رو بخوای می توی alt عکست رو خط فاصله بزاری

hajizahiry
چهارشنبه 05 اسفند 1388, 15:13 عصر
راه دیگه اینه که خاصیت display را برابر none قرار بدی

elmira_63
چهارشنبه 05 اسفند 1388, 15:35 عصر
ببین اگه ساده ترین راهش رو بخوای می توی alt عکست رو خط فاصله بزاری
alt رو هم ست کردم بازم علامت سر جاش بود

elmira_63
چهارشنبه 05 اسفند 1388, 15:39 عصر
راه دیگه اینه که خاصیت display را برابر none قرار بدی
خاصیت display چی رو برابر none قرار بدم؟؟
image خاصیت display داره؟؟؟؟

elmira_63
چهارشنبه 05 اسفند 1388, 16:12 عصر
سلام.
کد کاملش اینه:


$('img').error(function() {
$(this).remove();
});


این کد چیکار داره میکنه؟ داره میگه، سمت client، هر وقت متوجه عکسی شدی که URL به اون شکسته شده بود، اون عکس رو از روی صفحه حذف کن. به همین سادگی. برای استفاده از کد فوق، ابتدا باید jQuery رو Download کنید (http://jquery.com/)، سپس اونو در هدر فایل ASPX خودتون قرار بدید و بعد داخل ready handler کد فوق رو بنویسید. بعبارت دیگه، این کد رو توی header فایل قرار بدید:

(دقت کنید که URL به فایل jQuery رو باید درست کنید!)

<script type="text/javascript" src="/JScript/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(function() {
$('img').error(function() {
$(this).remove();
});
});
</script>

موفق باشید.


سلام
ممنون از جوابتون
من jqury رو دانلود کردم و به این صورت توی مستر پیجم توی تگ head اش گذاشتم



<script src="../JavaScripts/jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$('Image1').error(function(){
$(this).remove();
});
});
</script>


ولی بازم جواب نداد

mehdi.mousavi
چهارشنبه 05 اسفند 1388, 16:24 عصر
سلام
ممنون از جوابتون
من jqury رو دانلود کردم و به این صورت توی مستر پیجم توی تگ head اش گذاشتم



<scriptsrc="../JavaScripts/jquery-1.4.2.min.js"type="text/javascript"></script>
<scripttype="text/javascript">
$(function(){
$('Image1').error(function(){
$(this).remove();
});
});
</script>
ولی بازم جواب نداد


سلام.
کد من مگه این بود؟ :) شما $('img') رو به $('Image1') تبدیل کرده اید، خوب طبیعی هستش که کار نکنه. لطفا دقیقا همونی رو که نوشتم بنویسید.

موفق باشید.

پاورقی: بازهم اگر کار نکرد، فایل ASPX رو اینجا قرار بدید تا کامل ببینم چی کار کرده اید.