Czy to możliwe, aby określić zawartość wyrażenia lambda (delegat, Akcja, Func <>) ze składni Razor, tak, że gdy ta metoda model jest wykonany w widoku, to wstawić tę zawartość Razor?Czy funkcja lambda może zawierać składnię Razor i zostać wykonana w widoku?
Zamierzony cel ten jest dla naszych programistów, aby móc określić własne treści, która ma zostać wstawiony w konkretnym punkcie w opinii CustomControl użytkownika.
Poniżej znajduje okrojoną przykład kodu, który naśladuje mój obecny układ. Poszczególne części ostrości są RenderSideContent definicja metoda i jej wykonywania połączeń.
Index.cshtml
@model My.PageModel
@My.CustomControl(new CustomControlModel
{
AreaTitle = "Details",
RenderSideContent =() =>
{
<div>
@using (My.CustomWrapper("General"))
{
My.BasicControl(Model.Controls[0])
}
</div>
}
})
CustomControl.cshtml
<div>
@Model.AreaTitle
<div class="my-custom-content">
@Model.RenderSideContent()
</div>
</div>
I był pewien, że to był problem, po prostu nie wiedział, czy istnieje podobny sposób wokół niego. Byłoby miło, gdyby był sposób na bezpośrednie wstrzyknięcie Razorowej składni, bez konieczności ręcznego budowania ciągów przez mój zespół. Na razie właśnie zaimplementowałem funkcję wrapper i pomieszałem w Html.Partial. – haferje