PDA

View Full Version : مخفی کردن تصویر در گریدویو



fereshte22
چهارشنبه 21 شهریور 1386, 22:55 عصر
سلام
من یه گریدویو دارم که در اون یه کنترل IMAGE را به صورت زیر قرار دادهام


<asp:ImageID="Image8"runat="server"ImageUrl='.\Images\<%#container.dataitem("namepicture1")%>'/>

(تصاویر در پوشه و نام انها در دیتابیس ذخیره شده است (namepicture1
من میخواهم برای وقتی که تصویر مقداری ندارد این image نیز مخفی شود.
البته من مطالب سایت را که خوندم دوستان استفاده از مقدار پیش فرض را توصیه کرده بودند ولی من میخواهم که این image مخفی شود.در یکی از تاپیک ها هم استفاده از IIF توصیه شده بود که من متوجه نشدم دقیقا باید چیکار کنم؟
چطوری میتونم این کار را انجام دهم؟

shahab_ksh
پنج شنبه 22 شهریور 1386, 00:25 صبح
این رو در نظر بگیرید نام در دیتابیس ذخیره میشوند خوب جایی که نام نداریم شما چی گذاشتین null یا یه چیزی که جای اون گذاشتین حالا کافی کنترل تصویریتون رو شرطی کنید برای نمایش یعنی

در کد اچتملتون




<% If string.Format("{0}",Eval("namepicture1"))<>"null" Then %>

<asp:ImageID="Image8"runat="server"ImageUrl='.\Images\<%#container.dataitem("namepicture1")%>'/>

<% end if %>

fereshte22
پنج شنبه 22 شهریور 1386, 09:57 صبح
وقتی کد بالا را استفاده کردم خطای زیر را میدهدDatabinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.

ClaimAlireza
پنج شنبه 22 شهریور 1386, 10:45 صبح
من برای اینکار یه فیلد توی بانکم از نوع bit تعریف می کنم و در صورتی که عکسی آپلود نشه مقدار اونو صفر میدم...

زمان بازیابی عکس هم visible رو به فیلد مورد نظر bind می کنم.

البته مشکل اینجاست که یه فیلد اضافی داری تعریف میکنی ولی چون از نوع bit حجم زیادی نمیگیره، به جاش مدیریت بهتر و مطمئن تری خواهی داشت.

fereshte22
پنج شنبه 22 شهریور 1386, 14:02 عصر
من امتحان کردم دیدم که اگر تصویر را به صورت زیر به کار ببریم لازم نیست که visible اش را هم مشخص کنیم و اگه تصویری وجود نداشته باشد چیزی نمایش داده نمیشود.
http://barnamenevis.org/forum/.\Images\<%#container.dataitem(ایا درست متوجه شدم؟