جایگزین Html.Action در ASP.Net core
سلام من تازه core رو شروع کردم و به مشکلی برخوردم اونم اینه که Html.Action() دیگه وجود نداره اینطور که سرچ کردم یه چیز جدید به جاش اومده ولی خیلی نفهمیدم قضیش چیه و چجوری باید استفادش کنم:افسرده:
ممنون میشم راهنمایی کنید (فعلا فقط Partial میسازم بعد همونجا همه کارامو میکنم و با Html.Partial() ازش استفاده میکنم ولی یکم برام جالب نیست که مثلا Repository رو توی یه ویو نمونه سازی کنم و همچنین فکر کنم توی پرفورمنس هم اگه Partial ها زیاد بشه تاثیر داره)
نقل قول: جایگزین Html.Action در ASP.Net core
سلام.
من که سوالتون رو درست نفهمیدم
html.actiom نیست (البته میشه استفاده کرد)
اما asp-action هست.
https://docs.microsoft.com/en-us/asp...aspnetcore-3.1
نقل قول: جایگزین Html.Action در ASP.Net core
سلام قبلا در ASP.Net MVC متدی وجود داشت به نام Html.Action که با اون میتونستیم یه partial view رو فراخوانی کنیم
الان توی core به جای partial view از استفاده view component میشه و با Component.InvokeAsync فراخوانی میشه
در مورد asp-action که اون یه چیز جداست
ممنون که جواب دادید ولی من دیشب فهمیدم باید چیکار کنم
نقل قول: جایگزین Html.Action در ASP.Net core
سلام دوست من
میتونی به جاش از ViewComponent استفاده کنی
یه partialview درست کن با هر مدلی که خواستی بهش بده
بعد یه ViewComponent ایجاد کن و کد زیر رو بنویس
public class CategoriesComponent : ViewComponent
{
private readonly IUnitOfWork db;
public CategoriesComponent(IUnitOfWork db)
{
this.db = db;
}
public async Task<IViewComponentResult> InvokeAsync()
{
return View("~/Views/Home/Categories.cshtml", db.Categories.GetAsync());
}
}
و در ویو هرجایی که خواستی به صورت زیر فراخوانی کن
<div>
@await Component.InvokeAsync("CategoriesComponent")
</div>