eitaa logo
پروژه ASP.Net Core MVC (وب و سی شارپ)
120 دنبال‌کننده
168 عکس
38 ویدیو
377 فایل
❁﷽❁ آموزش 📖 برنامه نویسی ASP.Net Core MVC (وب و سی شارپ) Admin: @alialirezapanahi برنامه نویسی برنامه نویسی سی شارپ eitaa.com/sisharpapp برنامه نویسی وب eitaa.com/aspdatnet ویراستی virasty.com/alialirezapanahi آپارات aparat.com/alialirezapanahi
مشاهده در ایتا
دانلود
Filter App (6).zip
حجم: 23.6M
این دفعه کامل ترین پروژه از نظر فیلتر و صفحه بندی این هم بخشی از کد <nav aria-label="Page navigation"> <ul class="pagination justify-content-center"> @* وقتی فیلتر اعمال شود و وارد صفحه بعدی شود، فیلتر حذف نشود *@ @for (int i = 1; i <= ViewBag.TotalPages; i++) { <li class="page-item @(i == ViewBag.CurrentPage ? "active" : "")"> <a class="page-link" asp-action="Index" asp-route-page="@i" asp-route-searchString="@ViewBag.SearchString" asp-route-status="@ViewBag.Status" asp-route-isActive="@ViewBag.IsActive" asp-route-maxPrice="@ViewBag.MaxPrice" asp-route-startDate="@ViewBag.StartDate" asp-route-endDate="@ViewBag.EndDate"> @i </a> </li> } </ul> </nav>
پروژه ASP.Net Core MVC (وب و سی شارپ)
این دفعه کامل ترین پروژه از نظر فیلتر و صفحه بندی این هم بخشی از کد
Filter App (7).zip
حجم: 23.6M
تقویم شمسی به فیلتر اضافه شد نکته : فقط از طریق تقویم تاریخ عوض می شود بررسی کنید این پروژه 7 می خواهید یا پروژه 6 که input text تاریخ را وارد میکنید
Filter App (8).zip
حجم: 23.6M
ببخشید این دفعه همه کد های جاوااسکریپت را دیدم و خلاصه کردم کد جاوااسکریپت در صفحه اصلی کنترلر ProductController کوتاه تر شده
RAST.zip
حجم: 16M
پروژه راست که با کمک هوش مصنوعی نوشتم
پروژه ASP.Net Core MVC (وب و سی شارپ)
پروژه راست که با کمک هوش مصنوعی نوشتم
پروژه شما با نام "راست" (RAST)، یک سامانه مدیریت وظایف و پروژه‌هاست که با استفاده از تکنولوژی‌های مدرن دنیای دات‌نت طراحی شده است. این پروژه برای انتشار و ارائه به عنوان یک نمونه کار یا محصول کاربردی، دارای ویژگی‌های فنی و ظاهری بسیار ارزشمندی است. در ادامه، توضیحات کامل پروژه را در ۴ بخش اصلی برای شما تدوین کرده‌ام: ۱. معماری و تکنولوژی‌های استفاده شده این پروژه بر پایه الگوی محبوب MVC (Model-View-Controller) بنا شده که باعث جداسازی دقیق منطق برنامه از ظاهر آن می‌شود: Backend: * استفاده از ASP.NET Core (جدیدترین نسخه) برای مدیریت درخواست‌ها. Database: * بهره‌گیری از Entity Framework Core به همراه پایگاه‌داده SQL Server. لایه داده (Fluent API):* تنظیمات دیتابیس به صورت کدنویسی شده (کلاس
AppDbContext
) انجام شده که دقت کار با مقادیر مالی (Decimal) را تضمین می‌کند. Frontend: * استفاده از Bootstrap برای واکنش‌گرایی (Responsive) و نمایش صحیح در موبایل و دسکتاپ. ۲. ویژگی‌های کلیدی هوشمند پروژه "راست" صرفاً یک CRUD ساده (ساختن، خواندن، ویرایش، حذف) نیست، بلکه دارای قابلیت‌های هوشمندی است: تشخیص خودکار زبان (RTL/LTR):* سیستم به صورت هوشمند تشخیص می‌دهد که نام پروژه فارسی است یا انگلیسی و جهت متن را برای خوانایی بهتر تغییر می‌دهد. مرتب‌سازی پیشرفته (Sorting Helper):* قابلیت مرتب‌سازی لیست بر اساس جدیدترین‌ها، پربازدیدترین‌ها، میزان بودجه و حتی ترتیب الفبای هوشمند. سیستم ردیابی بازدید:* با هر بار مشاهده جزئیات یک پروژه، سیستم به صورت خودکار تعداد بازدید را افزایش داده و در دیتابیس ذخیره می‌کند. جستجوی آنی:* امکان فیلتر کردن پروژه‌ها بر اساس بخشی از نام آن‌ها. ۳. تجربه کاربری (UI/UX) در طراحی این سامانه، سادگی و زیبایی در اولویت بوده است: ظاهر مدرن:* استفاده از کارت‌های (Cards) جداگانه برای نمایش اطلاعات و فرم‌ها. آیکون‌های سیستمی:* برای جلوگیری از مشکلات بارگذاری در سیستم‌های مختلف، از اموجی‌های استاندارد و زیبا به جای فونت‌های سنگین استفاده شده است. رنگ‌بندی هدفمند:* استفاده از رنگ سبز برای "افزودن"، زرد برای "ویرایش" و قرمز برای "حذف" جهت راهنمایی بهتر چشم کاربر. ۴. امنیت و پایداری کدنویسی این پروژه با رعایت اصول امنیتی انجام شده است: Anti-Forgery Tokens: * جلوگیری از حملات مخرب وب (CSRF). Input Validation: * اعتبارسنجی دقیق داده‌های ورودی کاربر (نام و بودجه) هم در سمت سرور و هم در سمت کاربر. Concurrency Handling: * مدیریت خطاهای احتمالی در صورتی که دو کاربر همزمان بخواهند یک پروژه را تغییر دهند. --- خلاصه نهایی برای معرفی: > "پروژه راست، یک راهکار سبک و سریع برای مدیریت تسک‌هاست که تمرکز ویژه‌ای بر نمایش صحیح متون دو زبانه (فارسی/انگلیسی) و مدیریت دقیق بودجه دارد. این سامانه با رعایت استانداردهای Clean Code، پتانسیل بالایی برای توسعه و تبدیل شدن به یک پلتفرم مدیریتی جامع را داراست." این توضیحات به خوبی تخصص شما را در کدنویسی و توجه به جزئیات (مثل جهت متن و امنیت) به نمایش می‌گذارد. 🚀✨
AjaxApp.zip
حجم: 2.5M
کد ساده که با حداقل جاوااسکریپت داده های صفحه اصلی با عوض کردن لیست باکس بدونه رفرش عوض می شود
پروژه ASP.Net Core MVC (وب و سی شارپ)
کد ساده که با حداقل جاوااسکریپت داده های صفحه اصلی با عوض کردن لیست باکس بدونه رفرش عوض می شود
🚀 پروژه مدیریت هوشمند جداول با AJAX و Partial View* 🚀 سلام دوستان! امروز می‌خوایم بررسی کنیم که چطور می‌شه یک صفحه وب رو بدون حتی یک بار رفرش شدن، کاملاً زنده و پویا کرد! 💻✨ 🎯 هدف پروژه چیه؟ دیگه گذشت اون زمان که برای دیدن داده‌های جدید باید کل صفحه سایت از اول لود می‌شد! 🐢 در این پروژه، ما یاد می‌گیریم چطور با انتخاب یک گزینه، فقط و فقط "قلب جدول" رو آپدیت کنیم. یعنی سرعت موشکی و تجربه کاربری عالی! ⚡️🤩 --- 🛠 تکنولوژی‌های به‌کار رفته: Back-End: 🧠 ASP.NET Core (C#) Front-End:* 🎨 Razor Views & HTML5 Library:* ⚡️ jQuery (AJAX) Style:* 👗 Bootstrap --- 🏗 بخش‌های اصلی معماری پروژه: 1️⃣ لایه مدل (Model): 📦 یک کلاس شسته-رفته به نام `Person` که هویت داده‌های ما رو می‌سازه (مثلاً کی هستی و چه زمانی ثبت‌نام کردی؟). 2️⃣ کنترلر (Controller): 🎮 بخش هوشمند ماجرا! ما یک اکشن داریم که به جای لود کردن یک صفحه سنگین، فقط یک "تکه کد HTML" (همون Partial View) رو مثل یک پازل آماده می‌کنه و می‌فرسته. 3️⃣ پارت‌شال ویو (Partial View): 🧩 این فایل مثل یک قطعه پازله! فقط ردیف‌های جدول رو می‌سازه و منتظره تا جاوااسکریپت اون رو در جای درستش قرار بده. 4️⃣ جادوی ای‌جکس (AJAX - jQuery): 🪄 پل ارتباطی ما! وقتی کاربر گزینه‌ای رو انتخاب می‌کنه، ای‌جکس سریع می‌پره سمت سرور، ردیف‌های جدید رو می‌گیره و بدون اینکه کاربر بفهمه، جایگزین قبلی‌ها می‌کنه! 🏃‍♂️️💨 --- ✅ چرا این روش خیلی خفنه؟ کد تمیز (Clean Code):* هر بخش وظیفه خودشو داره و کدها توی هم گره نمی‌خورن. 🫧 سرعت فرازمینی:* چون فقط چند خط کد جابجا می‌شه، نه کل صفحه! 🛸 رضایت کاربر (UX):* صفحه پرش نداره و همه چیز خیلی نرم و روان اتفاق می‌فته. 😊👌 --- 🔄 فرآیند اجرا در یک نگاه:** 1️⃣ انتخاب: کاربر یک گروه رو از لیست انتخاب می‌کنه. 🖱 2️⃣ درخواست: جاوااسکریپت سیگنال می‌فرسته به سرور. 📡 3️⃣ پردازش: سرور داده‌ها رو فیلتر می‌کنه. ⚙️ 4️⃣ تزریق: کدهای جدید در بدنه جدول میشینن. 💉💉 نتیجه: یک پنل مدیریتی حرفه‌ای و مدرن که کار کردن باهاش لذت‌بخشه! 💎🔥 --- امیدوارم از این پروژه لذت برده باشید! مسیر حرفه‌ای شدن از همین پروژه‌های هوشمند می‌گذره. 🚀🌟
# پروژه مدیریت محصولات با فیلترهای پیشرفته و Ajax ## 📋 معرفی پروژه یک سیستم مدیریت محصولات با قابلیت‌های پیشرفته فیلتر، صفحه‌بندی و جستجو که به صورت Single Page Application (SPA) پیاده‌سازی شده است. ## 🚀 ویژگی‌های اصلی ### 1. فیلترهای هوشمند - 🔍 جستجوی متنی: جستجو در نام محصولات - 🏷 فیلتر وضعیت: Pending، Registered، Cancelled - ✅ فیلتر فعال/غیرفعال: نمایش محصولات فعال یا غیرفعال - 💰 فیلتر قیمت: اسلایدر برای محدود کردن قیمت - 📅 فیلتر تاریخ: انتخاب بازه تاریخ شمسی با استفاده از datepicker فارسی - 🔄 فیلتر آنی: اعمال فیلترها بلافاصله با تغییر هر فیلد ### 2. صفحه‌بندی پیشرفته - 📄 صفحه‌بندی Ajax: بدون رفرش صفحه - 🔗 حفظ فیلترها: حفظ فیلترها هنگام تغییر صفحه - 🌐 تغییر URL: به‌روزرسانی URL بدون رفرش صفحه - ↪️ پشتیبانی از History: کارکردن دکمه‌های عقب/جلو مرورگر ### 3. رابط کاربری مدرن - 🎨 طراحی Responsive: سازگار با تمام دستگاه‌ها - ⚡️ لودینگ آنی: نمایش اسپینر هنگام بارگذاری - 📱 تاریخ‌شمار فارسی: استفاده از Persian Datepicker - 🔢 فرمت اعداد: نمایش اعداد با جداکننده هزارگان ### 4. قابلیت‌های فنی - 🛡 کنترلر دو حالته: پشتیبانی از درخواست‌های عادی و Ajax - 📊 Partial View: جدول محصولات جدا از صفحه اصلی - 🔄 تبدیل اعداد: تبدیل خودکار اعداد فارسی به انگلیسی - 📝 اعتبارسنجی: تبدیل تاریخ شمسی به میلادی در سرور ## 🏗 ساختار پروژه ### مدل‌ها (Models)
public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
    public DateTime CreatedAt { get; set; }
    public bool IsActive { get; set; }
    public ProjectStatus Status { get; set; }
}

public enum ProjectStatus
{
    Pending,
    Registered,
    Cancelled
}
### کنترلر (Controller)
// ProductsController.cs
public async Task<IActionResult> Index(
    ProjectStatus? status, 
    bool? isActive, 
    string searchString, 
    decimal? maxPrice, 
    string startDate, 
    string endDate, 
    int page = 1,
    bool isAjax = false)
{
    // منطق فیلترها و صفحه‌بندی
    // بازگشت Partial View برای Ajax و View کامل برای درخواست عادی
}
### Viewها 1. Index.cshtml - صفحه اصلی با فرم فیلترها 2. _ProductTable.cshtml - Partial View برای جدول محصولات (مخصوص Ajax) ## ⚙️ نحوه راه‌اندازی ### پیش‌نیازها - .NET 6 یا بالاتر - SQL Server یا SQLite - مرورگر مدرن (Chrome, Firefox, Edge) ### مراحل نصب
1. کلون کردن پروژه
2. restore کردن packages: dotnet restore
3. update کردن دیتابیس: dotnet ef database update
4. اجرای پروژه: dotnet run
### فایل‌های ضروری
wwwroot/
├── persian-datepicker/      # کتابخانه تاریخ‌شمار فارسی
├── lib/                     # کتابخانه‌های Bootstrap و FontAwesome
└── js/                      # فایل‌های JavaScript

Views/
├── Products/
│   ├── Index.cshtml        # صفحه اصلی
│   └── _ProductTable.cshtml # Partial View جدول
## 🔧 پیکربندی ### Connection String
{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=ProductDb;Trusted_Connection=True;"
  }
}
### تنظیمات صفحه‌بندی
// در کنترلر
int pageSize = 3; // تعداد آیتم در هر صفحه
## 📱 واسط کاربری ### بخش‌های اصلی صفحه 1. هدر فیلترها: کارت شامل تمام فیلترها 2. جدول محصولات: نمایش لیست محصولات با ستون‌های مختلف 3. صفحه‌بندی: ناوبری بین صفحات 4. دکمه‌های عملیات: ویرایش و حذف محصولات ### فیلدهای فرم - جستجوی متنی: فیلتر بر اساس نام محصول - Select وضعیت: وضعیت سفارش (در انتظار، ثبت شده، لغو شده) - Select فعال/غیرفعال: نمایش محصولات فعال یا غیرفعال - اسلایدر قیمت: محدود کردن بر اساس قیمت - تاریخ‌شمار فارسی: انتخاب بازه تاریخ ## 🔄 جریان داده ### درخواست عادی (اولیه)
کاربر → URL → کنترلر → View کامل → مرورگر
### درخواست Ajax (فیلتر/صفحه‌بندی)
کاربر → JavaScript → Fetch API → کنترلر → Partial View → JavaScript → به‌روزرسانی DOM
## 🛠 کتابخانه‌های استفاده شده ### Frontend - Bootstrap 5: فریم‌ورک CSS - FontAwesome: آیکون‌ها - Persian Datepicker: انتخاب تاریخ شمسی - Fetch API: ارسال درخواست‌های Ajax ### Backend - Entity Framework Core: ORM برای دیتابیس - ASP.NET Core MVC: فریم‌ورک اصلی - System.Globalization: برای کار با تاریخ شمسی ## 🔒 امنیت
### مکانیزم‌های امنیتی - تأیید حذف: نمایش confirm قبل از حذف - تبدیل اعداد: جلوگیری از خطا در ورودی فارسی - اعتبارسنجی تاریخ: تبدیل صحیح تاریخ شمسی به میلادی - پارامترهای امن: استفاده از پارامترهای نوع‌دار در کنترلر ## 📈 بهینه‌سازی‌ها ### Performance - صفحه‌بندی سروری: بارگذاری فقط داده‌های مورد نیاز - Ajax: کاهش بارگذاری صفحه - کش مرورگر: استفاده از History API - لودینگ آنی: بهبود UX ### SEO - URLهای معنادار: پارامترهای فیلتر در URL - قابلیت اشتراک‌گذاری: هر URL وضعیت خاصی را نشان می‌دهد - دسترسی موتورهای جستجو: درخواست‌های اولیه کامل HTML برمی‌گردانند ## 🧪 تست‌ها ### سناریوهای تست شده 1. ✅ اعمال فیلترهای مختلف 2. ✅ صفحه‌بندی با حفظ فیلترها 3. ✅ تغییر URL بدون رفرش 4. ✅ دکمه‌های عقب/جلو مرورگر 5. ✅ تبدیل اعداد فارسی به انگلیسی 6. ✅ تاریخ شمسی به میلادی 7. ✅ لودینگ آنی 8. ✅ نمایش خطاهای مناسب ## 🐛 عیب‌یابی ### مشکلات رایج و راه‌حل 1. خطای 404: بررسی routeها و نام کنترلر 2. اعداد فارسی: اطمینان از تبدیل در JavaScript و سرور 3. تاریخ‌شمار: بررسی تنظیمات Persian Datepicker 4. Ajax کار نمی‌کند: بررسی پارامتر isAjax در کنترلر ## 📝 نکات توسعه ### برای توسعه بیشتر 1. اضافه کردن مرتب‌سازی: کلیک روی هدر ستون‌ها 2. صادرات اکسل: خروجی گرفتن از نتایج 3. فیلترهای پیشرفته: جستجوی پیشرفته با چندین فیلد 4. نمودارها: نمایش آماری محصولات 5. احراز هویت: محدود کردن دسترسی‌ها 6. API: ایجاد API برای برنامه‌های موبایل ## 🤝 مشارکت ### راهنمای مشارکت
1. Fork کردن پروژه
2. ایجاد Branch جدید (git checkout -b feature/AmazingFeature)
3. Commit کردن تغییرات (git commit -m 'Add AmazingFeature')
4. Push کردن به Branch (git push origin feature/AmazingFeature)
5. باز کردن Pull Request
## 📄 لایسنس این پروژه تحت لایسنس MIT منتشر شده است. ## 📞 پشتیبانی برای گزارش باگ یا درخواست ویژگی جدید، از Issues در گیت‌هاب استفاده کنید. --- ✨ پروژه آماده انتشار!