是否可以将_ViewStart文件中的字符串传递给我的Layoutfile?

时间:2013-08-06 02:08:14

标签: asp.net-mvc-4 razor-2

我的主站点和管理区域都使用了布局文件。在布局中,我调用MVCSiteMapProvider来生成我的布局。我想要做的是在_ViewStart文件中设置一个字符串,我可以将其传递给布局以指定要使用的站点地图。是否可以将_ViewStart中的变量传递给布局文件,如果是这样的话?

2 个答案:

答案 0 :(得分:2)

在我的头顶,您可以使用PageData

  

提供对页面,布局页面和部分页面之间共享的页面数据的类似数组的访问。

_ViewStart

<强> C#

@{
    PageData["MyString"] = "Test!";
}

<强> VB.NET

@Code
    PageData("MyString") = "Test!"
End Code

_layout

<强> C#

@PageData["MyString"]

<强> VB.NET

@PageData("MyString")

答案 1 :(得分:-2)

您可以使用ViewBag

在视图开始:

@{
   ViewBag.YourString = "any string";
}

在布局中:

@{
   var str = (string)ViewBag.YourString;
}