Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.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# 将字符串数组值从控制器传递到视图_C#_Asp.net Mvc_Razor - Fatal编程技术网

C# 将字符串数组值从控制器传递到视图

C# 将字符串数组值从控制器传递到视图,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,如何将字符串数组值从控制器传递到视图?我得到了这个错误“索引超出了数组的界限。” 控制器 执行以下操作时: model.Overnight = new string[] {"A" }; model.Overnight = new string[] {"b" }; 您没有将“B”添加到值为“A”的数组中,而是仅使用“B”创建一个新数组,并将其分配给属性,而不是原来的数组。因此,当循环迭代到i

如何将字符串数组值从控制器传递到视图?我得到了这个错误“索引超出了数组的界限。”

控制器
执行以下操作时:

model.Overnight = new string[] {"A" };
model.Overnight = new string[] {"b" };
您没有将
“B”
添加到值为
“A”
的数组中,而是仅使用
“B”
创建一个新数组,并将其分配给
属性,而不是原来的数组。因此,当循环迭代到
i<2
时,它对
i=0
有效,但对
i=1
而言,数组中没有这样的项,您会得到
OutOfBounds
。 您想要做的是:

model.Overnight = new string[] {"A", "B"};

//or
model.Overnight = new string[] {"A"};
model.Overnight.Add("B");

此外,不要像以前那样定义循环:

@for(int i = 0 ; i < 2; i++)
(int i=0;i<2;i++)

正是因为你遇到的原因。相反,循环直到
i

您只向数组中添加了一个元素(控制器中的第2行覆盖了第1行)。并将
用于(inti=0;i
Model.nighlight=newstring[]{“b”}
;是罪魁祸首-这里只有一个文本元素,因此索引超出了范围。您应该使用
model.nighlight=newstring[]{“A”,“b”}
model.Overnight = new string[] {"A" };
model.Overnight = new string[] {"b" };
model.Overnight = new string[] {"A", "B"};

//or
model.Overnight = new string[] {"A"};
model.Overnight.Add("B");
@for(int i = 0 ; i < 2; i++)