campaign-edianeh-98

آموزش پیاده سازی اسلاید شو با ASP.NET و SQL SERVER



visibility  
mode_comment   ۵۱

دوستان سلام،همون طور که قول داده بودیم،قسمت دوم آموزش پیاده سازی اسلایدشو که برای ASP.NET هست رو برای این مطلب در نظر گرفتیم،ما اساس کار رو توی آموزش قبلی که برای PHP بود گفتیم و توی این مطلب صرفا کد ها رو به #C و ASP تبدیل می کنیم.پس با ما همراه باشید.

خوب اول از همه ساخت جدول در SQL_SERVER،خوب توی این تصویر خودتون می بینید ما چه فیلد هایی و با چه مشخصاتی لازم داریم.

ساخت جدول مطالب

ساخت جدول مطالب

توی مطلب قبلی ما تقریبا این فیلد ها رو توضیح دادیم که قراره چه داده هایی رو برای ما ذخیره کنن،خوب ما میریم سراغ صفحه ارسال مطلب جدید.

ما توی صفحه ارسال مطلب از یه جدول برای چیدن فرم مورد نظر استفاده کردیم،یه سری استایل خاص هم نوشتیم که همون استایل های مطلب در PHP هستش،پس نیاز خاصی به توضیح نیست.

کدی که برای قسمت جاوا اسکریپت نوشتیم دقیقا همون مطلب قبلیه فقط یه توضیح کوچیک  داره اونم اینه که برای دریافت ID عناصر صفحه توی ASP.NET  ما یکم کد رو تغییر میدیم،کاربران ASP میدونن که ما این جا از عناصر سمت سرور استفاده کردیم و چون ID هایی که بهشون اختصاص داده میشه توی قسمت Code Behind استفاده میشه بنابراین ID این عناصر توی سمت Client فرق داره و ما برای اجرای کد هایی مثل جاوا اسکریپت باید حتما اون ID رو دریافت کنیم.

اون دستور ClientID دقیقا ID عنصر در سمت کاربر (client) رو برای ما برمی گردونه،اون علامت های <%%> هم کد های اسکریپتی ASP.NET هست.

کد های سمت سرور صفحه ارسال مطلب

خوب اینجا هم ما کد نحوه ثبت مطلب توی دیتابیس رو نوشتیم،برای کار با دیتابیس از کلاس DAL که برای راحتی کار نوشتیم استفاده کردیم،خوب بعدش چک کردیم که عنصر آپلود فایل،فایلی توی خودش داره یا نه اگه داشت که یه سری کد دیگه نوشتیم،با استفاده از کلاس Random میخوایم یه عدد تصادفی درست کنیم که به اسم فایل اضافه کنیم که تکراری نباشه (شما حتما چک کنید ببینید فایل موجوده یا نه که اگه موجود بود یه عدد دیگه تولید کنید)، اسم فایل رو از عنصر آپلود فایل دریافت کردیم و بعدش هم مسیری که مشخص میکنه فایل کجا ذخیره بشه رو مشخص کردیم و در آخر با متد SaveAs فایل رو توی مسیر جاری (Server.MapPath مسیر فیزیکی سایت رو برای ما برمیگردونه) ذخیره میکنیم و متغییر slider رو برابر 1 قرار میدیم (متغییر slider مشخص میکنه که قراره این مطلب با تصویری که داره توی اسلایدر سایت به نمایش در بیاد).

خوب بعدشم کوئری SQL رو نوشتیم و با مقادیر دریافتی از اون فرم صفحه این کوئری رو فرمت دهی کردیم ،با استفاده از متد connect از شی data که از کلاس  DAL نمونه سازی شده به دیتابیس وصل شدیم،با متد docommand از همین شی کوئری رو پردازش کردیم و با متد disconnect از دیتابیس قطع اتصال کردیم.

صفحه نمایش اسلاید شو

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

 

توی قسمت HeaderTemplate کد هایی که لازمه اول صفحه باشه و تکراری نیست و می نویسیم (تگ های اصلی نگهدارنده اسلاید شو ) توی قسمت ItemTemplate کد های تکراری رو مینویسیم و توی قسمت FooterTemplate کد های تکرار نشدنی(تگ های بسته شدن برای تگ های نگهدارنده اصلی اسلاید شو) رو قرار میدیم.

توی قسمت ItemTemplate ما از همچین کدی رو نوشتیم.

یه تگ لینک که داخلش یه تگ تصویر هست،ما توی خاصیت src آدرسی که توی دیتابیس ذخیره کردیم رو دریافت میکنیم و نشون میدیم،توی قسمت alt و title هم عنوان مطلب رو نشون میدیم (خاصیت data-thumb متعلق به اسلایدره که ما به خاطر خود کد اسلایدر داخلش تصویر رو قرار دادیم )،خوب حالا شاید سوال شما این باشه که این کد پایین چیه.

خوب این یه کد اسکریپتی سمت سرور هست که با اون مقادیری که از دیتابیس گرفتیم رو به خروجی تحویل میدیم.اگه دقت کنید توی پارامتر دوم متد Eval ما نوشتیم img این دقیقا همون فیلد توی جدول دیتابیس هست که آدرس تصویر رو توی خودش ذخیره میکنه،دیگه بقیه فیلد ها رو هم خودتون ببینید چطور استفاده شده چون کاملا واضح و مشخصه.

حالا توی قسمت Code Behind صفحه نمایش اسلاید شو همچین کدی رو مینویسیم.

باز هم از کلاس DAL استفاده کردیم (این جا مشخص میشه که کد نویسی شی گرا چقدر خوب و بدرد بخوره و از تکرار کد ها جلوگیر ی میکنه،اگه ما از شی گرایی استفاده نمی کردیم مجبور بودیم هم توی صفحه قبلی و هم توی این صفحه کد های ارتباط و پردازش با دیتابیس رو بنویسیم و تکرار کنیم،حالا شما توی پروژه های بزرگ فکر کنید که چقدر نیاز هست با بانک ارتباط برقرار و داده رد و بدل کنید 🙂 )،با متغییر count تعدادی که لازم نشون داده بشه رو تنظیم میکنیم (این متغییر هم میتونه از دیتابیس خونده بشه و مثلا توی کنترل پنل سایتتون که قراره طراحی کنید هم توی قسمت تنظیمات مشخص کنید که تعداد چند تا باشه)،کوئری رو نوشتیم و مشخص کردیم که فقط اونایی که مقدار فیلد slider برابر یک هست واکشی بشن،بعد از قالب بندی متن کوئری،با متد select از کلاس DAL اونو پردازش کردیم و مقدار برگشتی که یه DataTable هست رو ریختیم توی همون Repeater که توی صفحه به کار بردیم،بعدشم با DataBind کردن داده ها رو به Repeater متصل کردیم.

خوب اینم از اسلایدشو و پیاده سازی توی ASP.NET و SQL SERVER.

امیدوارم براتون مفید باشه،موفق و پیروز باشید.

دانلود کد های ASP.NET

متخصص جاوا اسکریپت
با جاوا اسکریپت جادوگری کنید! آیا می دونید با زبان جاوااسکریپت می تونید، برای فرانت اند و بک اند وبسایت ها برنامه نویسی کنید؟ همینطور اپلیکیشن دسکتاپ و موبایل بسازید؟ اگر دوست داری اینکارها رو انجام بدی و React, ElectronJS, ReactNative, NodeJS,MongoDB و ... رو تو یه دوره یاد بگیری، متخصص جاوااسکریپت سون لرن رو حتما ببین : متخصص جاوا اسکریپت arrow_back
comment دیدگاه کاربران
امیر

سلام اگه میشه آموزش ارسال مطلب به وبسایت با php و mysql در ساییتتون قرار بدید
ممنون..

کیوان علی محمدی

سلام چشم حتما،یه آموزش خوب و کامل قرار میدیم.

امیر

ممنون .

sikas

سلام کیوان جان واقعا عالی بود موفق باشی 😳

کیوان علی محمدی

ممنون دوست عزیز.

elham.e

عالیییییییی مثل همیشه … به خصوص کلاس DAL
فقط من یه سوال داشتم اونجا که گفتید که : شما حتما چک کنید ببینید فایل موجوده یا نه اگر بود یه عدد دیگه ایجاد کنید
حالا یه سوال درسته شما گفتید چون این قسمت توسط مدیر وارد میشه توجه به مسائل امنیتی زیاد مورد توجه نیست ولی من این سوالو کلی میپرسم نه در این مورد خاص اخیرا گزینه ای بود در افزونه ی فایرباگِ مرورگرِ فایرفاکس که امکان تغییر پسوند فایل در هاست را به کاربر میداد.
خوب داستان روشن است که نفوذگر ، پسوند فایل مخرب خود را تغییر میدهد و در سرور آپ میکند.بعد از آپلود اقدام به تغییر پسوند فایل خود به حالت اولیه میکند خب ما میایم محتوای فایل رو هم بررسی میکنیم چون اگر کاربر پسوند فایل را تغییر بدهد ، محتوای آن هیچ گاه تغییر نخواهد کرد. حالا یه سوال میشه اصلا کل نام فایل رو عوض کرد؟مثلا من یه رشته ی 20کاراکتی به صورت رندوم ایجادکنم بذارم به عنوان عکسم و دیگه نیام چک کنم وجود یا عدم وجود اونو توی پایگاه داده چون تقریبا احتمال هم نام بودن صفره و اساسا اینکه اگر این اتفاق بیفتد و باز هم هکر بتواند فایل خود را ذخیره کند ، نتواند فایل آپلودی خود را به هیچ وجه پیدا کند که اقدام به تغییر پسوند آن بکند یا هر نوع اقدام خرابکاریه دیگه ای میخواستم بدونم این کار درسته؟
و یه سوال دیگم اینکه مسیری که به فایلمون میدیم از root وب سایت شروع میشه ؟
و یه سوال دیگم اینکه مثلا اگه من بخوام با کلیک روی دکمه من کنترل فایل اپلودم کلیک بشه(که به صورت مخفی در صفحه است) چرا این ج نمیده؟


واقعا ممنونممم خیلی مفید بود برام
تشکر

کیوان علی محمدی

سلام،درباره اپلود فایل های هکر باید بگم که کلا توی اعتبار سنجی فایل شما حتما باید محتوای فایل رو هم چک کنید،اگه محتوای فایل رو با به صورت صحیح چک کنید دیگه نمیشه فایل غیر مجاز آپلود کرد،برا اون تغییر نام فایل هم اگه خوب نگاه کنید خیلی آپلود سنتر های بزرگ همین کارو میکنن و نام فایل رو با یه رشته تصادفی با تعداد کارکتر بالا عوض میکنن (مثلا تابع زمان رو + یه رشته خاص دیگه بوسیله الگوریتم MD5 هش میکنن و برای اسم فایل انتخاب میکنن،الگوریتم MD5 هم برای هر رشته خاص فقط و فقط یک خروجی داره که برگشت ناپذیرم هست بنابر این چون ما از تابع زمان استفاده کردیم و زمان هم هر ثانیه با ثانیه قبل خودش تفاوت داره بنابراین رشته خروچی ما کاملا unique هست و تکرار ناپذیر )،بله مسیر دسترسی دقیقا از پوشه root سایت هست،بابت سوال آخرم تیو نت یه جستجویی انجام بدی شاید گیر بیاری کدشو.

elham.e

خیلی ممنون
اره دیگه اونجوری احتمال یکسان بودن نام فایل به صفر میرسه
جالب بود
مرسی 🙂

mohammad

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

کیوان علی محمدی

سلام این آموزشی که شما خواستین توی مباحث advanced قرار میگیره که احتمالا توی قسمت VIP ارائه بشه،برای راهنمایی می تونید این مطلب و این و این رو ببینید.

رها

سلام
خسته نباشید
یه خواهش
مطالب این سایت نسبت به سال گذشته واقعا زیاد شده و همین امر مهم کار رو برای کاربر برای پیدا کردن مطلب مورد نظر بسییار سخت میکنه
لطفا در پایین مطالب از گزینه های next و prev برای ارتباط دادن با اموزش قبل و بعد هر اموزشی استفاده کنین تا سرعت کار رو بالاتر ببره
مثلا همین اموزش اسلاید شو با asp من الان دارم دنبال قسمت اولش میگردم اما نه توی منوهای بالا هست نه توی اخرین مطالب دسته بندی هست و نه سرچ خود سایت پیداش میکنه حتما باید به گوگل متوسل شد که این کار رو سخت میکنه ؟
و مورد دوم لطفا دموی اماده هر اموزش رو هم در صورت امکان در پایان اموزشها قرار بدین تا بشه دید نهایت کار چیه و ایا اون چیزی که اموزش داده شده با اون چیزی که کاربر طراحی کرده یکی هست یا نه ؟
با تشکر وارزوی توفیق

سجاد دریس

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

رها

سلام
ممنون از پاسخ شما
اما اکثر مطالب مثل همین از دسته بندی ضعیفی برخوردارن و در پایین مطالب هم فقط طی یکسال گذشته بجز چندمورد دارای مطلب بعدی یا قبلی نبودن
سرچ سایت هم با وجود اینکه عین جملات نوشته میشه اما قادر به پیدا کردن حتی مشابهشون هم نیست و صفحه انتخاب رو میاره
و از این ها بگذریم خواهشی که دارم حتما دموی اماده اموزشها رو در انتهای اموزش قرار بدین تا بعد از اتمام کار بشه مقایسه کرد که ایا اموزش داده شده با انچه اماده شده یکی هست یا متفاوته
مثلا در همین اموزش اصلا کاربر نمیدونه چی رو داره طراحی میکنه
با تشکر وارزوی توفیق

سجاد دریس

چشم.
در مطالب بعدی این موارد رو لحاظ می کنیم.

رها

ممنونم بخاطر قبول زحمت
اکثر سایتهای اموزشی برای کار بران تازه کار و مبتدی اموزشها رو قرار میدن که این خیلی هم خوبه و به رشد علمی سرعت دو چندان میبخشه ولی در این زمینه اگر کار بر بدونه چی رو داره طراحی میکنه با میل و رغبت بیشتر به تمرین اون اموزش میپردازه که خوب خودش در جذب کاربران بیشتر موثره و در نهایت هم کاربر متوجه اشکالاتش میشه و متوجه میشه ایا اون کدی که نوشته شده با اون دموی ارائه شده یکی هست یا نه و اشکالات خودش رو برطرف میکنه
واقعا ممنون اگر زحمت دمو های اموزش رو در پایین اموزشها قرار بدین
موفق وپاینده باشید

کیوان علی محمدی

سلام،ممنون،سعی می کنیم انجام بشه.

مژگان

سلام من دانشجوی آی تی هستم و کلاس ASP.NET رفتم که بتونم سایت طراحی کنم. ولی اصلا نمیتونم از اطلاعات کلاسم استفاده کنم. میشه طریقه ساخت یه سایت خبری خوب رو بذارید؟

کیوان علی محمدی

سلام،مطمئنا برای شما تمرین هایی تعریف میکنن که باید انجام بدید پس طبق همونا پیش برید،،شاید کلاس شما فعلا رو مباحث پایه کار میکنه،آموزش طراحی سایت هم داریم اما توی بخش VIP و بعد از تابستون انشالله.

مژگان

سلام. بله من یه سایت اجرایی میخوام درست کنم. ولی نمیشه با اون آموزش های کلاس.
سایت varzesh3.com رو ببینید خیلی جالبه اون رو تو کلاس یاد دادن ولی طوری هست که اجرایی نیست درحد پروژه دانشجویی هستش.

کیوان علی محمدی

خوب پس چاره ای نیست،باید خودتون یاد بگیرید،باید سعی کنید یه پروژه تعریف کنید و امکانات لازم رو تعریف کنید و بعد هم طراحی و کد نویسی،از قسمت های کوچیک شروع کنید.نباید انتظار داشته باشید یه شبه ره صد ساله رو برید.

serda

سلام وقتتون بخیر! یه سوال داشتم:
من این اسلاید شو رو درست کردم و اطلاعات مورد نظر رو وارد میکنم ولی عملا توی جدول دیتابیس چیزی نمی بینم در صورتی که وقتی فولدر uploads که مربوط به تصاویر هست رو باز میکنم میبینم که عکس ها درج شدند ولی توی صفحه ی اسلاید نمایش نمیده.
ممنون میشم راهنماییم کنید.

کیوان علی محمدی

سلام اگه توی جدول دیتابیس اطلاعاتی مشاهده نمیکنید پس به احتمال خیلی زیاد مشکل از قسمت کوئری ثبت اطلاعات یا قسمت اطلاعات ارتباط با ابنک باشه،سعی کنید اطلاعات ارتباط با بانک رو طبق سیستم خودتون ست کنید.اگه سیستم خطایی تولید میکنه اونو خطا رو این جا بنویسید تا بررسی بشه.

pariya

salam vaght bekheyr.
mikhasm to siti ke dar asp.net tarahi kardam emkane ersale mail tavasote bazdidkonandegan ba adrese websitam ro dashte basham.yani ba adrese web sitam behem mail ersal konan.
mishe rahnemaim konin????
montazere rahnemaiton hastam 🙁

کیوان علی محمدی

سلام این مطلب رو بخونید.

pariya

hala mail ersal mikone vali gesmate upload error mide.
be in khad error mide
string filepath=Server.MapPath(“uploads//”+filename);
???????? 🙁

کیوان علی محمدی

خوب میشه متن خطا رو بگید چی میگه؟

pariya

in teke kodiye ke vase uploader neveshtam
string fileName = FileUpload1.PostedFile.FileName;
string filePath = Server.MapPath(“uploads//” + fileName);
FileUpload1.SaveAs(filePath);
Attachment attach = new Attachment(filePath);
attach.TransferEncoding = System.Net.Mime.TransferEncoding.Base64;
mail.Attachments.Add(attach);
*bekhate fileuploader.saveaz(filepath) erorr mide*
inam matne erorre
Could not find a part of the path ‘F:\pro\uploads\Lighthouse.jpg’.

کیوان علی محمدی

خوب خطا داره میگه که مسیر فایل رو نمیتونه پیدا کنه،شما اون پوشه uploads رو توی ریشه اصلی پروژه ایجاد کردین؟

pariya

mamnon az rahnemaihaton .
darzemn in kod vase gmail hast man mikham be address yahoo ersal beshe .kodom gesmatasho bayad azav konam???ba shomare port chand???

کیوان علی محمدی

کی گفته این برای جی میله؟ شما میتونید از این برای یاهو هم استفاده کنید،فقط کافیه آدرس یاهو توی قسمت to وارد بشه،تا برای یاهو ارسال بشه،فقط نکته مهم اینه که آدرس میل سرور رو به خوبی تنظیم کنید.

pariya

to bazi sita khondam ke in kod vase gmail mifreste.
khob man toye gesmate to adres yahom ro neveshtam moge send kardam peygham mide mail ersal shod ama miram to inbox khabari az mail nist??
on gesmate meil server ro chejori tanzim konan???

کیوان علی محمدی

شما اول باید قسمت میل سرور رو حتما تنظیم کنید،معمولا وقتی هاستی خریداری میشه تنظیمات میل سرور برای ارسال ایمیل از طریق سایت هم برای شما ارسال میشه یا تو خود پنل هاست موجوده،شما باید اون آدرس و نام کاربری و کلمه عبور اکانت میل رو هسات رو توی این قسمت تنظیم کنید،البته می تونید از سرور های مثل جی میل هم استفاده کنید که زیاد توصیه نمیشه.

pariya

man to haste raygan apload kardam to somee.com
to mail domain add mizanam jai nadare ke user pasword maillamo bedam.
rasti age u matlabi darmorede amozeshe upload kardane sql darinto sit bezarin

کیوان علی محمدی

حالا نمیدونم این سایت این سرویس رو ارائه میکنه یا نه،اما به احتمال زیاد باید داشته باشه همچین سرویسی رو،شما باید نام کاربری ،کلمه عبور اکانت رو هاست رو توی همین کد آموزش قرار بدید دقیقا اونجایی که نوشته username و password.

امیر

سلام
چرا آموزش ارسال مطلب رو توی سایت قرار نمیدید ؟؟؟

کیوان علی محمدی

چشم عجله نکنید،قرار میدیم.

nazanin

salam ba tashakor az site khobeton mishe ye kod vase gozashtane scrollbar dar grid view da web rod garar bedin?

کیوان علی محمدی

سلام گرید ویوو رو داخل یه تگ div قرار بدید و بعد برای تگ div خصوصیات height و width مشخص تعریف کنید (مثلا 500px) و بعد هم خاصیت overflow رو برابر scroll تنظیم کنید.

nazanin

salam
mamnon az rahnemaihaye khobeton.
manam hamin moshkelo daram yani mikham ye siz vase grid view bedam bade inke dadehaye tosh ziyad shod khodkar scrool ijad beshe .

pariya

salam
mamnon az rahnemaihaye khobi ke behem kardin .
manam to in mored mondam ke ye size fix vase grid view bedam bad ba ziyad shodane dadehaye tosh khodkar scrollbar ijad beshe

pariya

bazam mamnon az site khobeton va rahnemaiton.
man mikham to sitam ye text bax vaseye search dar google bezaram bishtare kod script to sitha ro danload kardam javab nadad.
mishe ye code script vase emkane sreach to google dar websit ro bezarin.

کیوان علی محمدی

سلام خود گوگل همچین امکانی رو فراهم کرده،از این لینک ببینید.

pariya

to on gesmat ke cod script ro mide miyaram to button copy mikonam cod ha ro khata migire??

کیوان علی محمدی

خوب شما طبق دستور العمل خودش دقیقا عمل کنید،بعدش چه خطایی میگیره؟

saba

سلام از آموزش مفیدتون ممنونم. یه سوال دارم. من میخام برای اسلاید به جای اینکه از عدد استفاده کنم عکس بذارم که هر کدوم از اسلایدها که نمایش داده میشه کمه مربوط به اون عکس متفاوت داشته باشه مثل سایت www.systemgroup.net/‎ . توی فایل های اسکریپتش این تغییرات رو دادم ولی درست نشده. میشه بگین چیکار باید بکنم؟
directionNav: false,
directionNavHide: true,
controlNav: false,
controlNavThumbs: true,

کیوان علی محمدی

سلام در سطح معمولی این بستگی به اسلاید شوی داره که ازش استفاده می کنید که آیا این امکان رو به شما میده یا نه،اما خوب در سطح پیشرفته تر باید دستکاری کد های اصلی رو انجام داد.می تونید دنبال یه اسلاید شو بگردید که این امکان رو به شما میده.

مهری سامان

دستت درد نکنه پست خیلی خوبی بود. فقط لطفا به جای دستور زیر:
string filename = uploader.PostedFile.FileName
دستور زیر رو جایگزین کنید تا درست کار کنه:
string filename = uploader.FileName

کیوان علی محمدی

سلام این کد قبلا تست شده و کار میکنه،شاید شما از نسخه جدید ASP استفاده میکنی و این تغییرات جدید باشه.

Siyamak mahmoudi

سلام اگه بخواییم چند تا اطلاعات رو بکشیم بیرون و اون رو به صورت اسلاید شو در بیاریم و css کارکنیم چه کار کنم نمونه رو براتون می گذارم
::: کدهای طولانی شما بدلیل اختلال در بخش نظرات برداشته شد .
کدهای خود را اگر از 10 خط بیشتر شوند در فایل قرار داده و آدرس دهید و یا اینکه در انجمنسایت مطرح کنید .

شیدا

با سلام وتشکر،من میخوام اسلاید شو رو تو ی ستون ی جدول قرار بدم بطوریکه در بالای اون ستون قرار بگیره اما وسط ستون میمونه و فرم خدولمو بهم میریزه راهنمایی کنید لطفا!ارتفاع رو هم میتونم تغییر بدم؟

کیوان علی محمدی

سلام این بستگی به ساختار html و کدهایی css ای هست که استفاده کردین.بله مطمئنا میشه ارتفاع رو هم تنظیم کرد.

add_circle ارسال دیدگاه

خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :