gpt4 book ai didi

asp.net-mvc-3 - Razor View 引擎中的全局变量

转载 作者:行者123 更新时间:2023-12-04 00:30:48 26 4
gpt4 key购买 nike

有没有办法让我使用类似于所谓的功能 Global Variables在 Spark View Engine 中,但用于 Razor。

这一切的重点在于能够在一个部分为标题定义一个变量,然后能够在另一部分中设置或更改该变量的值。

在 Spark 中,您将在类似这样的部分中创建变量(用于示例目的的不完整代码):

<html>
<head>
<global type='string' Title='"Site Name"'/>
<title>${Title}</title>
</head>
<body>
<div><use content="view"/></div>
</body>
</html>

然后你可以在不同的 View 或部分或其他任何内容中设置它:
<set Title='product.Name + " - " + Title'/>

如果我有错误的方法,我将如何在 Razor 中做这样的事情,或者只是解决类似的问题?

最佳答案

您可以使用 ViewBag.Title布局内:

<html>
<head>
<title>@ViewBag.Title - Site Name</title>
</head>
<body>
<div>
@RenderBody()
</div>
</body>
</html>

然后在 View 中定义这个变量:
@model AppName.Models.Product
@{
ViewBag.Title = Model.Name;
}

更新:

在关于默认值的评论问题之后,您可以使用部分。
<html>
<head>
<title>
@if (IsSectionDefined("Title"))
{
RenderSection("Title")
}
else
{
<text>Some default title</text>
}
</title>
</head>
<body>
<div>
@RenderBody()
</div>
</body>
</html>

然后在您的 View 中,如果您愿意,您可以重新定义该部分:
@section Title {
<text>some redefined title here</text>
}

关于asp.net-mvc-3 - Razor View 引擎中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5194630/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com