剃刀中的公共变量

本文关键字:变量 剃刀 | 更新日期: 2023-09-27 18:35:19

我是剃须刀的新手,我正在尝试新事物。有什么方法,使用剃刀在文件中有一个变量,该变量可以被渲染的页面访问而无需传递变量?

例如,如果有一个名为 index.cshtml 的页面包含代码

@{var myVal = 9;}
@RenderPage("_page.cshtml")

有没有办法声明myVal以便可以通过_page.cshtml访问它?我不想从 RenderPage 函数中传递变量,因为我将呈现更多页面并且不想单独传递变量。

剃刀中的公共变量

有没有办法声明 myVal 以便可以通过 _page.cshtml 访问它

是的,您可以将其存储在ViewBag

中,例如
public class MyController : Controller
{
    public ActionResult Index()
    {
        ViewBag.MyVal = 9;
        return Index();
    }
}

_page.cshtml

<p>My val is @ViewBag.MyVal</p>