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# 数组后绑定Asp Net MVC_C#_.net_Asp.net Mvc 3_Post - Fatal编程技术网

C# 数组后绑定Asp Net MVC

C# 数组后绑定Asp Net MVC,c#,.net,asp.net-mvc-3,post,C#,.net,Asp.net Mvc 3,Post,我在Asp Net MVC上绑定数组时遇到一些问题,当对象在post方法中返回时,数组属性返回null,下面是我模拟该问题生成的示例代码: 欢迎使用任何胶水: 我有两门课: public class Class1 { public string SampleProperty { get; set; } public Class2[] SampleClass2Array { get; set; } } public class Class2 { pub

我在Asp Net MVC上绑定数组时遇到一些问题,当对象在post方法中返回时,数组属性返回null,下面是我模拟该问题生成的示例代码:

欢迎使用任何胶水:

我有两门课:

  public class Class1
  {
    public string SampleProperty { get; set; }
    public Class2[] SampleClass2Array { get; set; }
  }

  public class Class2
  {
    public string SampleProperty { get; set; }
    public string[] SampleStringArray { get; set; }
  }
这两项行动:

public ActionResult SampleAction()
{
  var model = new Class1()
  {
    SampleProperty = "class 1 property 1 value",
    SampleClass2Array = new Class2[]
    {
      new Class2()
      {
        SampleProperty = "position 1 class 2 property 1 value",
        SampleStringArray = "one,two,3,4,5,6".Split(new char[]{','})
      },
      new Class2()
      {
        SampleProperty = "position 2 class 2 property 1 value",
        SampleStringArray = "seven,8,9,10".Split(new char[]{','})
      }
    }
  };

  return View(model);
}
[HttpPost]
public ActionResult SampleAction(Class1 model)
{
  Dictionary<string, object> parameters = new Dictionary<string, object>();
  Request.Params.CopyTo(parameters);

  return View();
}
以及后期视图中的模型对象:

model   {TestBinding.Models.Class1} TestBinding.Models.Class1
SampleClass2Array   {TestBinding.Models.Class2[2]}  TestBinding.Models.Class2[]
[0] null    TestBinding.Models.Class2
[1] null    TestBinding.Models.Class2
SampleProperty  "class 1 property 1 value"  string

我明白了,太多了,看不懂:你找到问题的答案了吗?你能发布一个答案吗?我在使用字符串数组属性的编辑器时遇到问题。这可能是您正在寻找的。
@model TestBinding.Models.Class2
<p>
    @Html.EditorFor(model => model.SampleProperty)
</p>
<p>
    Content</p>
@for (int i = 0; i < Model.SampleStringArray.Length; i++)
{
    @Html.DisplayFor(model => model.SampleStringArray[i]) <br />               
    @Html.HiddenFor(model => model.SampleStringArray[i])
}
<br />
{[SampleProperty, class 1 property 1 value]}    
{[SampleClass2Array[0].SampleProperty, position 1 class 2 property 1 value]}    
{[SampleClass2Array[0].SampleStringArray[0], one]}  
{[SampleClass2Array[0].SampleStringArray[1], two]}  
{[SampleClass2Array[0].SampleStringArray[2], 3]}    
{[SampleClass2Array[0].SampleStringArray[3], 4]}    
{[SampleClass2Array[0].SampleStringArray[4], 5]}    
{[SampleClass2Array[0].SampleStringArray[5], 6]}    
{[SampleClass2Array[0], TestBinding.Models.Class2]} 
{[SampleClass2Array[1].SampleProperty, position 2 class 2 property 1 value]}    
{[SampleClass2Array[1].SampleStringArray[0], seven]}    
{[SampleClass2Array[1].SampleStringArray[1], 8]}    
{[SampleClass2Array[1].SampleStringArray[2], 9]}    
{[SampleClass2Array[1].SampleStringArray[3], 10]}   
{[SampleClass2Array[1], TestBinding.Models.Class2]} 
model   {TestBinding.Models.Class1} TestBinding.Models.Class1
SampleClass2Array   {TestBinding.Models.Class2[2]}  TestBinding.Models.Class2[]
[0] null    TestBinding.Models.Class2
[1] null    TestBinding.Models.Class2
SampleProperty  "class 1 property 1 value"  string