2

我在以通用方式解决此问题时遇到问题。

我们有自己的 BeginForm 和 FieldFor,beginForm 计算特定目标 url 的 PermissionLevel 并在 ViewData 上保存一些信息。然后 FieldFor 使用该信息在呈现的控件上显示各种注释。

现在的问题是当一个部分用于呈现表单内的字段时。似乎父级的 ViewData 在部分内部不可用(使用默认的 Html.Partial 扩展名呈现),因此未显示注释。

调试它我发现 WebViewPage 的 ViewData 属性是共享的,但 Html.ViewData 上的那个不是。由于我使用助手来呈现字段,因此我只有 HtmlHelper 中的视图数据,而不是视图的属性。

有任何想法吗?

谢谢。

4

1 回答 1

2

通常,您只需使用以下内容

@ViewBag.Property

您没有指定如何渲染您的局部,但在某些情况下,如果您用于渲染局部的方法没有携带 ViewBag,您可能需要使用以下内容来访问 viewbag。

@ViewContext.Controller.ViewBag.Property
于 2013-10-22T13:52:04.567 回答