آموزش کار با ViewComponent در ASP.NET CORE

آموزش کار با ViewComponent در ASP.NET CORE

در این قسمت از سری آموزش های Asp.net Core به آموزش کار با ViewComponent میپردازیم. بسیار شبیه به پارشیال ویو ها هستند، اما بسیار قدرتمند تر. ViewComponent یکی از ویژگی‌هایی است که سازماندهی کد را بهبود می‌بخشد و قابلیت استفاده مجدد کد را با کپسوله کردن منطق رندر یک نمای جزئی ارتقا می‌دهد.

ViewComponent چیست ؟

ویو کامپوننت ها در ASP.NET Core یک الگوی برنامه‌نویسی برای ساختن بخش‌های قابل استفاده مجدد و مستقل از رابط کاربری است. این بخش‌ها به شما اجازه می‌دهند تا لاجیک و ویو را در قالب‌هایی کوچک‌تر و سازمان‌یافته‌تر جدا کنید. ViewComponent ها بسیار شبیه به partialView هستند، اما از قدرت بیشتری برخوردارند. partial view ها از Model Binding استفاده نمی کنند و تنها وابسته به اطلاعاتی اند که به آن ها پاس داده می شود.

چرا از ViewComponent استفاده کنیم؟

  • جداسازی لاجیک و ویو : می‌توانید منطق کسب‌وکار را از HTML جدا کنید.
  • قابل استفاده مجدد: بخش‌های مختلفی از رابط کاربری را در صفحات مختلف استفاده کنید.
  • استقلال: ViewComponentها مستقل از کنترلرها کار می‌کنند.
  • قابلیت تست: آسان‌تر شدن تست منطق و رفتار رابط کاربری.

آموزش ساخت یک ViewComponent

به زبان ساده میتوان گفت ViewComponent بسیار شبیه به partialView میباشد، با این تفاوت که یک Mini Controller در کنار خود دارد. و این Mini Controller باعث قدرتمند تر شدن آن میشود. در ادامه با مراحل ایجاد ViewComponent با ما همراه باشید.

ایجاد فولدر های مورد نیاز ViewComponent

  • ایجاد یک پوشه با نام ViewComponents در مسیر روت پروژه. در این فولدر کلاس های مربوط به ویو کامپوننت ها قرار میگیرد.
/ViewComponents/...
  • ایجاد یک پوشه با نام Components در مسیر پوشه Shared. در این فولدر ویو های مربوط به ویو کامپوننت ها قرار میگیرد.
/Views/Shared/Components/...
  • ایجاد یک پوشه با نام ViewComponentModels در مسیر فولدر Models پروژه. در این فولدر مدل های مربوط به ویو کامپوننت ها قرار میگیرد.
/Models/ViewComponentModels/...

ایجاد کنترلر برای ViewComponent

  • در پوشه ViewComponents ای که در مرجله قبل ایجاد کردیم، یک کلاس با نام ویو کامپوننت دلخواه خود ایجاد میکنیم. در این مثال نام ویو کامپوننت ما Products میباشد. حتما باید در آخر نامی که قرار میدهید از ViewComponent استفاده کنید.
/ViewComponents/ProductViewComponent
  • کلاس ما حتما باید از ViewComponent اکستند شود. تا قابلیت های یک ViewComponent به آن اضافه شود
public class ProductViewComponent : ViewComponent
  • در کلاسی که ایجاد کردیم نیاز به یک متد از جنس IViewComponentResult نیاز دارد که نام آن حتما باید Invoke باشد. و خروجی آن هم یک View میباشد.
public IViewComponentResult Invoke()
{
    return View();
}

ساخت View برای ViewComponent

ویو ها باید در پوشه Components که در پوشه Shared ساختیم اضافه شود. ابتدا در پوشه Components یک پوشه به نام ViewComponent ای که ساختیم ایحاد میکنیم. مثلا اگر نام وسو کامپوننت ما  ProductViewComponent باشد باید نام پوشه ما Product باشد. و در این پوشه اقدام به افزودن ویو خود میکنیم.
اولین مکانی که ViewComponent دنبال ویو میگردد در مسیر زیر است.

/Views/Shared/Components/ViewName

فراخوانی و نمایش ViewComponent

برای فراخوانی میتوانید از کد های زیر استفاده کنید. مقدار اولی که دریافت میکند نام ViewComponent  و مقدار دوم نام مدل است.

@await Component.InvokeAsync("Product")
@await Component.InvokeAsync("Product",ProductModel)

سورس کد CreateViewComponent

شما می‌توانید سورس کد کامل CreateViewComponent را از طریق گیت مشاهده کنید و یا اگر گیت کار نمی‌کنید، به راحتی آن را به صورت فایل فشرده (ZIP) دانلود کنید. فایل‌های دانلودی شامل تمام بخش‌های پروژه است و می‌توانید آن را روی سیستم خود اجرا یا تغییر دهید.

سورس کد CreateViewComponent

مشاهده در آپارات یا یوتیوب

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

تماشای ویدیوی آموزش کار با ViewComponent در ASP.NET CORE در آپارات و یوتیوب

اشتراک‌گذاری با یک کلیک

با یک کلیک، محتوای این صفحه را در شبکه‌های اجتماعی، ایمیل یا پیام‌رسان‌های مورد علاقه‌تان به‌سرعت به اشتراک بگذارید.

اشتراک‌گذاری صفحه آموزش کار با ViewComponent در ASP.NET CORE در شبکه‌های اجتماعی

نظرات ارزشمند شما

نظرات شما برای ما ارزشمند است و آنها را میخوانیم و پاسخ میدهیم.

تصویر محمد لواسانی

سلام. فایل ویدیویی آموزش viewcomponent در دسترس نیست. لطفا پیگیری بفرمایید.
بابت ویدیوهای عالی تان هم تشکر می کنم.

تصویر محمدرضا احدیان

ممنون از شما و تذکر بجاتون. ویدیو آموزش viewcomponent قرار گرفت.

فرم افزودن دیدگاه

با ارسال نظرات خود ما را در ایجاد محتوای بهتر کمک کنید.

با خدمات تهران آی تی آشنا شوید

تهران آی تی با افتخار خدمات زیر را ارائه می‌دهد.