Új hozzászólás Aktív témák
-
joysefke
veterán
Sziasztok!
ASP.NET Core 2.1 MVC
Layout+View+ViewComponent témakörben kéne egy kis help. Sehogy nem tudom szépen megoldani amit szeretnék.
Tehát a user számára renderelt View tartalmaz egyrészt képeket, style-t (háttér-kép, általános szövegek, kedvcsinálók stb) illetve tartalmaz ezen felül a user-hez kapcsolódó adatokat is, amelyek egy form-ban kerülnek megjelenítésre (HttpGet), illetve onnan lesznek updatelve (HttpPost).
A kétféle adatot szeretném elválasztani, úgy, hogy:
-A parent View-nak (parent View == Index.cshtml) átadott ViewModel objektum kizárólag a user-hez kapcsolódó adatokat tartalmazza, ami a form-hoz hozzá is lesz kötve.
-A formázás, háttérkép, csicsa-micsát pedig egy az Index.cshtml-ből hívott ViewComponent (PageContentViewComponent.cs) által renderelt partial View tartalmazza (Default.cshtml). A ViewComponent ezeket az adatokat DI-al nyeri ki a content-repository-ból.Ami nem megy:
A Layout-ban hivatkozom néhány RenderSection-re, pld @RenderSection("Title"). Ezt a sectiont nem a View-ban, hanem a View által hívott ViewComponentben szeretném legenerálni.Tehát Layout-ban ez van:
......@RenderSection("Title")
.....
.....@RenderBody()<---- Ez szépen működikAz Index.cshtml-ben ez van:
........@await Component.InvokeAsync("PageContent")A PageContentViewComponent-hez tartozó Default.cshtml-ben az alábbiak vannak. A kérdéses section legalul van.
@model UIModel
<div class="div">
......
@await Html.PartialAsync("NavbarPartial", Model)
@await Html.PartialAsync("CouplePartial", Model.Couple)
@await Html.PartialAsync("EventsPartial", Model.Events)
@await Html.PartialAsync("PeoplePartial", Model.People)
@await Html.PartialAsync("GalleryPartial", Model.Gallery)
....
</div>
@section Title{
<title>@Model.General.Title</title>
}Erre ezt kapom:
InvalidOperationException: The layout page '/Views/Shared/_PrettyLayout.cshtml' cannot find the section 'Title' in the content page '/Views/Ui/Index.cshtml'.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Apple iPhone 15 Pro Max 256GB, Kártyafüggetlen, 1 Év Garanciával
- Lenovo ThinkCentre M70s Small Form Factor Business Desktop, 14th Gen Intel 10-Core i5-14400
- 1db DELL P2421 + 1db P2423 1920x1200 IPS monitor, állítható magasság PIVOT is, 16:10 képarány!
- AKCIÓ!! Alienware m16 r1 AMD Laptop , RTX 4080 , R9 7845HX , 32GB DDR5 , 2TB
- GIGABYTE AORUS Radeon RX 580 8GB - MINDEN TARTOZÉKÁVAL.
- GYÖNYÖRŰ iPhone 12 mini 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3327, 94% Akkumulátor
- Jabra Speak2 75 MS Teams USB-bluetooth hangszóró
- 155 - Lenovo LOQ (15IRH8) - Intel Core i5-13505H, RTX 4060
- MS SQL Server 2016, 2017, 2019
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

