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

问题描述 投票:-1回答:2

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

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

有人可以遮挡任何光吗?

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

c# asp.net .net asp.net-mvc
2个回答
-1
投票

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

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

ViewBag.Content = "some text";

或者像这样:

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

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

两者都是ViewPage类的一部分。

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


-1
投票

也许在某些“内容”或“标题”属性上有一个[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

© www.soinside.com 2019 - 2024. All rights reserved.