gpt4 book ai didi

asp.net-mvc - Asp.Net MVC 5 如何将ViewBag发送到部分 View

转载 作者:行者123 更新时间:2023-12-02 08:45:49 25 4
gpt4 key购买 nike

我有一个 _LoginPartial View ,并希望通过 ViewBag 向其发送数据,但我从中发送数据的 Controller 没有 View 。

public PartialViewResult Index()
{
ViewBag.sth = // some data
return PartialView("~/Views/Shared/_LoginPartial.cshtml");
}

此代码对我不起作用。

最佳答案

您似乎希望在执行以下操作时调用此 Index 操作:@Html.Partial('_LoginPartial')。那永远不会发生。 Partial 只是通过 Razor 使用当前 View 的上下文运行部分 View ,并输出生成的 HTML。

如果您的部分需要更多信息,您可以指定自定义ViewDataDictionary:

@Html.Partial("_LoginPartial", new ViewDataDictionary { Foo = "Bar" });

然后您可以通过以下方式访问部分内部:

ViewData["Foo"]

您还可以使用子操作,如果使用不需要主视图上下文的部分 View ,这通常是更好的选择。 _LoginPartial 似乎是一个不错的候选者,尽管我不确定您到底如何使用它。但具有讽刺意味的是,带有单独身份验证的默认 MVC 项目附带的 _LoginPartial View 使用子操作。

基本上,您拥有的代码已经可以工作,您只需要使用 Html.Action 而不是 Html.Partial 来更改引用它的方式:

@Html.Action("Index")

请注意,您在此处调用操作,现在调用 View 。

关于asp.net-mvc - Asp.Net MVC 5 如何将ViewBag发送到部分 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25310805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com