آموزش Asp.Net MVC پارشیال ویو تو در تو

تهران آی تی / برنامــه نویــسـی / آموزش Asp.Net MVC پارشیال ویو تو در تو

آموزش Asp.Net MVC پارشیال ویو تو در تو

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

برای درک بهتر موضوع در قالب یک مثال عملی آن را شرح میدهم.

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

public class Blog
{
[Key]
[Required]
[Display(Name = "شناسه پست")]
public int PostID { get; set; }
[Required]
[MaxLength(500)]
[Display(Name = "تایتل")]
public string PostTitle { get; set; }
[Display(Name = "محتوا")]
[DataType(DataType.MultilineText)]
[AllowHtml]
public string PostContent { get; set; }
[Display(Name = "تصویر شاخص")]
[MaxLength(100)]
[AllowHtml]
public string PostImage { get; set; }
[Display(Name = "گالری ")]
[AllowHtml]
public string PostGallery { get; set; }
[Display(Name = "کروسل ")]
[AllowHtml]
public string PostCarousel { get; set; }
}

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

@Html.Action("ShowPost","Blog")

  • در پارشیال خود یک حلقه ایجاد میکنیم تا اطلاعات هر پست را دیافت کنیم.

@foreach (var item in Model)
{
@Html.Partial("_Post1",item)
}

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

@model WebApplicationFileManager.Models.Blog
<div class="col">
<div class="card" style="width: 18rem;">
<img src="@Model.PostImage" class="card-img-top" alt="@Model.PostTitle">
<div class="card-body">
<h5 class="card-title">@Model.PostTitle</h5>
<div style="overflow-y:hidden; height:180px; line-height:25px" class="card-text">@Html.Raw(Model.PostContent)</div>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
</div>

جستجو کنید

طراحی و پیاده سازی پروژه های طراحی سایت دانشجویی

انجام، اجرا و طراحی پروژه های طراحی سایت برای دانشجویان با HTML CSS PHP ASP.NET JAVA و ... با کمترین هزینه. برای مشاهده نمونه کارها و یا دریافت مشاوره رایگان از تیم طراحی سایت تهران آی تی با ما در تماس باشید. ما بهترین پروژه های طراحی سایت را با حداقل هزینه برای شما طراحی میکنیم - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

مطالب مرتبط

لطفا از مطالب مرتبط با این پست دیدن فرمایید

جــذاب های هفته

از پربازدیدترین مطالب تهران آی تی در هفته ای که گذشت دیدن فرمایید

باورکردنی نیست فقط با 300 هزار تومان

طراحی سایت شما + طراحی اپلیکیشن هدیه و رایگان
این یک حراج است در مدت زمان محدود - شرکت های زیادی سایت های ارزان طراحی میکنند اما آیا کیفیت لازم را دارا هستند؟ طراحی سایت ارزان به همراه اپلیکیشن رایگان هدیه برای اولین بار توسط تهران آی تی مخصوص سازمان ها و کسب و کار های کوچک و بزرگ و حتی جدید تیم طراحی سایت تهران آی تی در کنار شماست تا شناخته شوید - مشاوره رایگان 09121486770

مــشاوره و مشاهده نمونه کارها

پشتیبانی 24 ساعته

تیم تهران آی تی در هفت روز هفته و 24 ساعت روز آماده پاسخ گویی به سوالات کاربران و ارائه مشاره رایگان میباشد