C# 将int[]传递给视图的最佳方式是什么
注意到一个问题,当我将模型传递给视图时,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"> 我有一个
<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))