Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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# 将int[]传递给视图的最佳方式是什么_C#_.net_Asp.net Mvc - Fatal编程技术网

C# 将int[]传递给视图的最佳方式是什么

C# 将int[]传递给视图的最佳方式是什么,c#,.net,asp.net-mvc,C#,.net,Asp.net Mvc,注意到一个问题,当我将模型传递给视图时,int[]类型的一个属性转换为 <input type="hidden" value="System.Int32[]" name="test"> 我希望在value属性中看到数组的字符串化值。 我试着使用列表。这导致: <input type="hidden" value="System.Collections.Generic.List`1[System.Int32]" name="test"> 我有一个

注意到一个问题,当我将模型传递给视图时,int[]类型的一个属性转换为

<input type="hidden" value="System.Int32[]" name="test">

我希望在value属性中看到数组的字符串化值。 我试着使用列表。这导致:

<input type="hidden" value="System.Collections.Generic.List`1[System.Int32]" 
       name="test">


我有一个非常复杂的模型,它依赖于其他类,这就是为什么我不想将其更改为字符串格式。不能使用int[]吗

您将获得类型的
.ToString()
值,对于更复杂的类型,该值是类型名

您能否以不同的方式公开集合属性。i、 e

public int [] MyIntegers
{
   ...
}

public string MyIntegersStringified
{
    get {

       return string.Join(",", MyIntegers);
    }
}

假设您需要通过POST将值接收回另一个操作方法,您必须在视图中编写自己的代码,创建如下HTML(列表中的每个项目都有一个隐藏字段):



阅读此内容了解更多信息:

在视图中,您可能需要执行以下操作:

@Html.HiddenFor(x => x.Array, new { value = String.Join(",", Model.Array) })

@Html.HiddenFor
接受对象作为值。您看到的是
对象.ToString()
,对于Int32数组,它是类型的名称:“System.Int32[]”

如果要在隐藏字段中简单存储阵列的csv版本,可以尝试以下操作:

@Html.Hidden("test", string.Join(",", values))

如何分配值?提供源代码。这将很容易理解。你能提供视图的源代码吗?
@Html.Hidden("test", string.Join(",", values))