尽管在逻辑上是第一个,但在Razor页面中呈现部分最后一个

时间:2019-05-29 20:21:13

标签: c# .net asp.net-mvc razor

我有这样的情况:

@{ Html.RenderPartial("Header"); }

@{ Html.RenderPartial("ArbitraryView"); }

ArbitraryView部分集ViewData["Test"]在其视图中。

Header部分印刷品 ViewData["Test"]

是否可以告诉剃刀先渲染ArbitraryView部分 以便设置ViewData["Test"],然后渲染Header以便阅读该值,而无需更改它们在页面上显示的顺序?

我无法使用RenderBody,它将达到预期的效果。

1 个答案:

答案 0 :(得分:1)

您可以使用RenderPartial而不是使用Partial并将结果保留在变量中。然后,您可以按照想要的顺序输出结果:

@{ 
    var arbitraryView = Html.Partial("ArbitraryView");
    var header = Html.Partial("Header");
}

@header
@arbitraryView