نمایش نتایج 1 تا 13 از 13

نام تاپیک: به دست آوردن مقدار یک فیلد در Repeater (نه چاپ کردن)

  1. #1

    Question به دست آوردن مقدار یک فیلد در Repeater (نه چاپ کردن)

    با سلام
    میخواستم بدونم آیا نمیشه مقدار یک فیلد رو که دیتاسورسش به Repeater بایند شده رو به دست آورد
    آخه با دستور
     
    <%#Container.DataItem("Pic")%>
    فقط میشه مقدار رو چاپ کرد . من میخوام به دست بیارمش و ازش تو کد نویسی استفاده کنم .

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

  2. #2
    اینکار رو باید در روال ItemDataBound کنترل Repeater ات انجام بدی....
    از دستور ("e.Item.DataItem( "column_name می تونی برای به دست آوردن مقدار فیلد استفاده کنی...

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

    موفق باشید.

  3. #3

    Red face ممنون . ولی ...

    خیلی ممنون .

    ولی یه جای کارم می لنگه .
    ببینید مثلا من در ItemTemplate نوشتم :


    <%
    dim a as string=returnimg("مسیر عکس")
    %>

    <img src='<%=a %>' />


    ولی من اون تابع پیدا کردن مسیر عکس رو در بخش ItemTemplate قرار میدم .
    فقط اون قسمت "مسیر عکس" رو میخوام چک کنم .

    آیا برای حل این مشکل باید از کامپوننت های سرور ساید استفاده بشه تا از Codebehind بهشون دسترسی داشت ؟

    آخه اینجوری مثلا 10 تا تصویر توی صفحه ایجاد میشه که همشون خاصیت ID شون برابر مثلا "img" است .

    میشه اینم یه توضیح بدین . شرمنده . ممنونم

  4. #4
    از کنترل Image سرور ساید استفاده کن...
    در روال ItemDataBound، رکورد جاری رو بازیابی می کنی و وجود تصویر مربوط به رکورد رو با دستور System.IO.File.Exists بررسی می کنی...
    حال با یک ارجا به کنترل Image، در صورتی که فایل وجود داشت، فایل رو به خاصیت ImageUrl کنترل Image منتسب می کنی، در غیر اینصورت، تصویری رو که برای زمان نبود عکس در نظر گرفتی به این خاصیت نسبت میدی.

    موفق باشی.

  5. #5
    شما بگین مقلا چه استفاده ای میخواین بکنین ؟؟

  6. #6
    پاسخ آقای راد :
    خیلی ممنون . مشکلی نیست . فقط اینکه مثلا 10 تا کنترل Image با ID برابر تولید میشود مشکلی ایجاد نمیکند ؟

    پاسخ آقای Csharp2005 :
    یه نمونش همین کاری که اگه تصویر پاک شده بود یه عکس دیگه نشون بدیم .
    یا اصلا چیزی نشون ندیم .

    از همگی ممنونم

  7. #7
    فقط اینکه مثلا 10 تا کنترل Image با ID برابر تولید میشود مشکلی ایجاد نمیکند ؟
    هیچ دو عنصری در فرم های وب دارای ID یکسانی نیستند...
    این ID منحصر به فرد رو می تونی با خاصیت ClientID کنترلت به دست بیاری...

    موفق باشی.

  8. #8
    پاسخ شما در همان پست دوم داده شده است.

    سعی کنید از همان راه بروید ، همشهری عزیزم !!!

  9. #9

    Red face کمک لطفا

    با عرض پوزش مجدد . راستش من یه کنترل Image بصورت Serverside در ItemTemplate
    قرار دادم . ولی در رویداد ItemDataBound مربوط به Repeater به اون عکس دسترسی نداره .
     
    <asp:Image ID="ItmImg" BorderWidth="1" runat="server" />

    چه کنم ؟ ممنون .

    و سوال بعد اینکه در رویداد ItemDataBound فقط باید بنویسم :


    ItmImg.Image = e.Item.DataItem("Pic")


    . درسته ؟

  10. #10
    دوست عزیزم!
    مشخص هست که در مورد نحوه ی ارجا به اشیا مشکل داری...
    تقریبا هفته ای 2 تا 3 بار در این مورد سوال مطرح میشه و بنده پاسخگو هستم...
    پ.ن: فکر می کنم در مورد نحوه ی ارجا به اشیا و بازیابی و تنظیم خواص اونها در زمان اجرا به اندازه ی کافی در پست های مختلف صحبت کردم...
    به هر حال از تازه ترین پاسخی که در این باب دادم کمک بگیر:
    http://www.barnamenevis.org/sh...ad.php?t=49451

    موفق باشی.

  11. #11

    Thumbs up

    نقل قول نوشته شده توسط Behrouz_Rad
    دوست عزیزم!
    مشخص هست که در مورد نحوه ی ارجا به اشیا مشکل داری...
    اگه مشکل نداشتم که حال و روزم بهتر از این بود

    به هر حال از تازه ترین پاسخی که در این باب دادم کمک بگیر:
    http://www.barnamenevis.org/sh...ad.php?t=49451
    خیلی ممنون . استفاده کردم .
    یعنی از این دو خط مخصوصا :
     
    Dim obj_Img As WebControls.Image = CType(e.Item.FindControl("ItmImg"), WebControls.Image)
    obj_Img.ImageUrl =
    "/" & e.Item.DataItem("Pic")


    فقط من با یک رکورد امتحان کردم و خداروشکر مشکلی نبود .

    ولی میخوام بدونم که روی چند تا رکورد چجوری جواب میده .
    آخه وقتی در رکورد قبلی هم چنین کنترلی با همین ID وجود داشته این متد FindControl
    یعنی فقط کنترل مربوط به رکورد جاری را بر میگرداند ؟

    اگه یه توضیح مختصر بدین ممنون میشم . چون فعلا مشکلم حل شد . خیلی ممنون .

  12. #12
    ولی میخوام بدونم که روی چند تا رکورد چجوری جواب میده .
    آخه وقتی در رکورد قبلی هم چنین کنترلی با همین ID وجود داشته این متد FindControl
    یعنی فقط کنترل مربوط به رکورد جاری را بر میگرداند ؟
    درسته که تنها یک ImageButton با یک ID در ItemTemplate قرار میدی، اما به این کنترل، در زمان اجرا توسط موتور پردازش گر ASP.NET به ازای هر بار ایجاد، یک ID منحصر به فرد تعلق می گیره.
    در اکثر مواقع تو به این ID نیازی نداری اما در صورت نیاز می تونی با استفاده از خاصیت ClientID به دستش بیاری...

    موفق باشی.

  13. #13
    <td><a href='webform3.aspx?isbn=<%#databinder.eval(contai ner.dataitem,"isbn")%>'>جزئیات
    کاملتر</a></td>
    sbnنام یک فیلد است که مقدار ان در متغیر isbn به صفحه بعد می رود

تاپیک های مشابه

  1. مشکل تو Repeater های تو در تو
    نوشته شده توسط mohtav در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: سه شنبه 04 دی 1386, 21:35 عصر
  2. بدست آوردن گزینهی انتخابی در repeater
    نوشته شده توسط sm_montazar در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: یک شنبه 18 تیر 1385, 19:35 عصر
  3. متوقف کردن حرکت repeater در هنگام ....
    نوشته شده توسط sm_montazar در بخش ASP.NET Web Forms
    پاسخ: 7
    آخرین پست: شنبه 17 تیر 1385, 08:08 صبح
  4. تنظیم repeater از راست به چپ
    نوشته شده توسط sm_montazar در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: جمعه 16 تیر 1385, 08:49 صبح
  5. مشکل با Repeater
    نوشته شده توسط AspNet در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: دوشنبه 24 اسفند 1383, 14:36 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •