سلام
از یه FileUploadاستفاده کردم برای ذخیره چند عکس تو بانک
مشکل اینجاست که فیلدهای عکس تو بانک که 10 تا هستن رو نمیتونم توی یک حلقه ،متناسب با تعداد عکس انتخاب شده مقدار دهی کنم.
به عبارت دیگه اگه کاربر کمتر از ده تا عکس انتخاب کنه من راهی سراغ ندارم که بتونم فیلدها رو به همون تعداد مقدار دهی کنم.
کاری که فکر میکردم این بود که اشتباهه و نمیشه.راهنمایی لطفا
if(FuImage1.HasFiles) { int x = FuImage1.PostedFiles.Count(); string[] UploadedImages = new string[x]; int i = 0; foreach(HttpPostedFile UploadedImg in FuImage1.PostedFiles) { UploadedImg.SaveAs(System.IO.Path.Combine(Server.MapPath("~/Pic/Mobile/") + DDLBrand.SelectedItem.Text, UploadedImg.FileName)); UploadedImages[i] = UploadedImg.FileName; i += 1; } for (i = 0; i <= x - 1; i++) { Mobile_Images Mob_Img = new Mobile_Images() { Image1 = Convert.ToString(UploadedImages[i]) }; }
ممنون از شما ولی شاید من سوالمو درست عنوان نکردم .
مشکل اصلی مربوط به وقتیه که می خوام این ده تا عکس رو تو بانک ذخیره کنم
اگر ده تا عکس برای هر آیتم بخوام ذخیره کنم باید به صورت استاتیک طی پروسه Linq اسم هر ده تا فیلد بانک رو ببرم و یکی یکی آیتم بهشون اختصاص بدم.اگر این کار رو بکنم و به جای ده تا عکس کاربر 5 تا انتخاب کنه یعنی به 5 تا فیلد باقی چیزی داده نشده و خطا صادر میشه.
الان کاری که می خوام بکنم اینه که اولا تعداد عکس هاس selectشده رو مشخص کنم (که مشکلی نیست .)بعد به همون تعداد مقدار دهی به فیلد های بانک توسط تکنیک Linq بانک داشته باشم
مثلا تو کد بالا قصد داشتم به تعداد ورودی تو حلقه از فیلد های بانک استفاده کنم و بهشون مقدار بدم که حین نوشتن فهمیدم اشتباهه و نمیشه
شما میتونید از Foreach استفاده کنید نه از for
در این صورت حلقه به تعداد فایل ها تکرار میشه
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)