我在其中定义 viewbag 值的控制器返回一个局部视图,这是返回的最后一个视图。
这个局部视图被呈现给一个 JQuery 对话框。关闭它后,我返回到之前的那个,其中包含一个表格。在表单视图(最后一个之前的那个)中,我试图通过 JS 函数访问 viewbag 值,并将其分配给表单中的隐藏字段。所以实际上,我正在尝试获取 viewbag 值,而不是从我发送 viewbag 的视图中获取。
这是个问题吗?viewbag 值是否只能从已渲染的最后一个视图中获得?
我在其中定义 viewbag 值的控制器返回一个局部视图,这是返回的最后一个视图。
这个局部视图被呈现给一个 JQuery 对话框。关闭它后,我返回到之前的那个,其中包含一个表格。在表单视图(最后一个之前的那个)中,我试图通过 JS 函数访问 viewbag 值,并将其分配给表单中的隐藏字段。所以实际上,我正在尝试获取 viewbag 值,而不是从我发送 viewbag 的视图中获取。
这是个问题吗?viewbag 值是否只能从已渲染的最后一个视图中获得?
我不确定这是否可能,但无论如何,您通常不希望或不需要在 ViewBag 所属的视图之外访问它。似乎会有几个更好的选择。
将所需的 ViewBag 值填充到 DOM 中其他位置的隐藏字段中。
由于您使用的是 JQuery 对话框,请考虑使用它的回调函数将您需要的值传递回主窗体。请参阅此处的示例: jquery ui 对话框需要返回值,当用户按下按钮时,但不工作