C# ASP.NET MVC类内的结构数组初始化
我在类数组中初始化数组时遇到问题,我有一个SearchArrayModel:C# ASP.NET MVC类内的结构数组初始化,c#,asp.net,arrays,asp.net-mvc,C#,Asp.net,Arrays,Asp.net Mvc,我在类数组中初始化数组时遇到问题,我有一个SearchArrayModel: public class SearchArrayModel { public struct AttribStruct { public string AttribName { get; set; } public string[] AttribValues { get; set; } } public AttribStruct[] AttribArray
public class SearchArrayModel
{
public struct AttribStruct
{
public string AttribName { get; set; }
public string[] AttribValues { get; set; }
}
public AttribStruct[] AttribArray { get; set; }
}
我有一个控制器来填充阵列:
SearchArrayModel[] src = new SearchArrayModel[1]
{
new SearchArrayModel()
{
AttribArray = new SearchArrayModel.AttribStruct[]
{
new SearchArrayModel.AttribStruct
{
AttribName = atributes2.attribname, //it's in foreach loop, but it's a string value
AttribValues = new string[]
{
values.ToString() //another string values
}
}
}
}
}
我的看法是:
@model allegrotest.Models.SearchArrayModel
@{
ViewBag.Title = "ShowItems";
}
@using (Html.BeginForm())
{
@foreach (var item in Model.AttribArray)
{
foreach (var item2 in item.AttribName)
{
<h2>@item2</h2>
}
}
}
@model allegrotest.Models.SearchArrayModel
@{
ViewBag.Title=“ShowItems”;
}
@使用(Html.BeginForm())
{
@foreach(Model.AttribArray中的var项)
{
foreach(item.AttribName中的变量item2)
{
@项目2
}
}
}
对吗?我想显示AttribArray中的所有元素,但在我看来只有一个元素
或者我的foreach循环中可能有错误。如果
值是您可能想要的集合
AttribValues = values.Select(v => v.ToString()).ToArray() //another string values
不能对字符串值进行迭代。要显示数组中的所有元素,可以将代码重新排列为:
@model allegrotest.Models.SearchArrayModel
@{
ViewBag.Title = "ShowItems";
}
@using (Html.BeginForm())
{
@foreach (var item in Model.AttribArray)
{
<h2>@item.AttribName</h2>
foreach (var item2 in item.AttribValues)
{
<h3>@item2</h3>
}
}
}
@model allegrotest.Models.SearchArrayModel
@{
ViewBag.Title=“ShowItems”;
}
@使用(Html.BeginForm())
{
@foreach(Model.AttribArray中的var项)
{
@item.AttribName
foreach(item.AttribValues中的var item2)
{
@项目2
}
}
}
首先,我要避免可变结构……我使用的是API,其中有一些结构和奇怪的东西,这就是为什么我有问题,这是一个非常模糊的注释。你的意思是API正在公开可变结构吗?我会非常小心任何这样的API。。。