Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET核心使用_Layout.cshtml中的类数据_C#_Asp.net Core_Razor Pages - Fatal编程技术网

C# ASP.NET核心使用_Layout.cshtml中的类数据

C# ASP.NET核心使用_Layout.cshtml中的类数据,c#,asp.net-core,razor-pages,C#,Asp.net Core,Razor Pages,我声明一个类Name.cs来存储一些数据: namespace myproj.Data { public class Name { public string[] items = new string[] {"item1", "item2", "item3"} } } 如何在_Layout.cshtml中使用它,以便执行以下操作: @foreach (var item in Name.items) { <div id="@

我声明一个类
Name.cs
来存储一些数据:

namespace myproj.Data
{
    public class Name
    {
        public string[] items = new string[] {"item1", 
        "item2", "item3"}
    }
}
如何在_Layout.cshtml中使用它,以便执行以下操作:

@foreach (var item in Name.items)
{
    <div id="@item"></div>
}
@foreach(Name.items中的变量项)
{
}

作为上述答案的补充,我不会强烈键入
\u布局
。如果您需要传递某些内容来操作输出,我可以使用
ViewBag
从控制器传递,或者使用
ViewComponent
根据需要执行工作并输出到视图。@scgough感谢您的帮助。在看到一些关于局部视图的页面后,我决定将模型传递给局部视图。然而,我不确定这是否是最好的办法。我在
\u Layout.cshtml
@model myproj.Models.SidebarData
@scgough中键入了类似的内容,因为它是一个包含数据的边栏,几乎包含在每个视图中。我必须在每个控制器中将
return View()
更改为
return View(“Index”,new myproj.Models.SidebarData())
。如果将其更改为ViewComponent。有很多关于他们的文章。这是做这类事情的新方法。您可以从布局中调用它,并且它的模型可以在ViewComponent代码中获得(而不是在每个控制器中的每个操作上传递模型)。