Как получить доступ к содержащей странице со страницы, отображаемой с помощью RenderPage ()? - PullRequest
0 голосов
/ 17 июня 2019

У меня есть .cshtml, который состоит исключительно из @RenderPage() вызова. Это сделано для того, чтобы другой фрагмент .cshtml можно было повторно использовать в различных сценариях.

// ActualView.cshtml
@RenderPage("~/Views/ReusableControls/PasswordResetPage.cshtml",
    new { some parameters here })

Код внутри PasswordResetPage.cshtml должен иметь возможность установить заголовок страницы. Следующее не работает (код выполняется, но не имеет заметного эффекта):

 // PasswordResetPage.cshtml    
 ViewBag.Title = "new title";

потому что это "другая страница" или что-то в этом роде. Я должен получить доступ к ViewBag содержащей страницы. Так что это работает:

// ActualView.cshtml
@RenderPage("~/Views/ReusableControls/PasswordResetPage.cshtml",
    new { some parameters here, InvokedFrom = this })

//PasswordResetPage.cshtml
PageData["InvokedFrom"].ViewBag = "new title";

Работает, но выглядит немного перегруженным.

Есть ли лучший способ получить доступ к ViewBag или другим членам представления в ActualView.cshtml из внутреннего представления в PasswordResetPage.cshtml?

...