填充ViewData [“content”]或ViewData [“Header”]的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了填充ViewData [“content”]或ViewData [“Header”]的内容相关的知识,希望对你有一定的参考价值。

我遇到了一段我不理解的代码。我们使用foreach循环遍历ViewData [“Content”],但我无法看到它的填充位置。问题出现了,因为我们在生产中遇到错误,但是当我尝试在本地调试时它工作正常。我检查了应用程序,ViewData [“Content”]没有设置在我喜欢的任何地方

foreach (var contentType in (List<AppCode.ContentType>)ViewData["Content"]){ ....}

有人可以遮挡任何光吗?

我期待看到类似ViewData[“content”] ="blablaba"ViewData[“Header”]="lalalal"的东西,但我无法在应用程序的任何地方看到它。

答案

作为described here,ViewData是一个字典,包含在控制器和视图之间传递的数据。

这主要是在Controller方法中设置的,如下所示:

ViewBag.Content = "some text";

或者像这样:

ViewData["Content"] = "some text";

ViewData和ViewBag用于相同的目的 - 将数据从控制器传输到视图。 ViewData只是一个对象字典,它可以通过字符串作为键访问。它们用于从Controller - > View - > PartialView访问相同的值

两者都是ViewPage类的一部分。

因此,根据代码的其他部分,您应该查找用于呈现视图的控制器方法,或者呈现部分视图,因为ViewBag和ViewData可以作为参数传递。

另一答案

也许在某些“内容”或“标题”属性上有一个[ViewData]属性。这可以从ASP.Net Core 2.1获得。

public class HomeController : Controller
{
    [ViewData]
    public string Title { get; set; }

    public IActionResult About()
    {
        Title = "About Us";
        ViewData["Message"] = "Your application description page.";

        return View();
    }
}

https://docs.microsoft.com/en-us/aspnet/core/mvc/views/overview?view=aspnetcore-2.2

以上是关于填充ViewData [“content”]或ViewData [“Header”]的内容的主要内容,如果未能解决你的问题,请参考以下文章

控制器通过ViewData查看

asp.net MVC ViewData详解

js怎么获取mvc3的model或者viewdata

ASP.NET-viewBag Viewdata Tempdata

asp.net mvc 如何实现自动提交或保留用户未登录前得信息

如何根据另一个选择下拉jquery MVC过滤一个选择?