c# - Razor (Web Pages) 布局页面先于 RenderBody 执行

标签 c# asp.net razor

我正在使用 Razor 网页(所以不是 MVC)。我有一个在我的 Web 应用程序中使用的 Razor 布局页面。

我有一个代码执行顺序问题。通常,您在子页面上设置 Page.Title(例如),然后在布局页面运行时填充此变量,以便您可以将标题放在布局中的页面上。没关系。但我需要倒着做。我想在子页面上的代码执行之前为所有页面运行一些代码。

我希望能够运行一段代码,而不必在每个子页面中都引用它,并且我需要在子页面运行任何代码之前执行它。我确信有一种非常简单明了的方法可以做到这一点,因为我是 Razor Web Pages 生命周期的新手,所以我错过了...

示例: 我在布局页面中设置我的网站名称。但出于某种原因,我想在我的子页面、子子页面等的很多地方显示站点名称。我最好怎么做?

我知道 _PageStart.cshtml,我可以使用它在逐个文件夹的基础上先运行代码,设置页面。我可能需要的任何变量等,这适用于我的目的。但我很难理解这是正常过程,还是一种糟糕的方法。网络上似乎没有太多关于 Razor 网页的这方面内容。

最佳答案

Web 用户控件就是您想要的。

关于c# - Razor (Web Pages) 布局页面先于 RenderBody 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10417191/

相关文章:

c# - 通过 Entity Framework 抛出错误将数据插入数据库

c# - 我可以从另一个部分类调用一个部分类中定义的函数吗?是否可以?

c# - 使用 C# 将文本文档分成多个部分

asp.net-mvc - 使用 JSON 返回 Razor 部分 View (ASP MVC 3)

c# - MVC 中的显示与编辑模式

asp.net-mvc - 编辑器模板 LabelFor - 显示值而不是名称

c# - 什么是 MVC future 库?

c# - 使用 XDocument.Save() 写入 XML 时如何保留特殊字符?

c# - 如何克隆 UltraGridColumn (Infragistics)?

c# - 在 iframe 中使用 RedirectToAction 后,ASP.NET MVC session 会重置