4

我想通过 GET 而不是 POST 将以下内容从我的控制器传递给我的视图:

public class MyDTO
{
   public string val1 { get; set; }
   public string val2 { get; set; }
   public MyObject obj { get; set; }
}

public class MyObject
{
   public int SomeInt { get; set; }
   public string ACoolValue { get; set; }
   public string YetAnotherCoolValue { get; set; }
}

然后控制器会像这样。(注意它是一个 GET):

public ActionResult MyView(MyDTO dto)
{
   return View(dto)
}

问题是 MyObject 的实例返回为 null,其中 val1 和 val2 有数据。有没有人遇到过这个?

4

1 回答 1

4

我刚刚在 Visual Studio 2010 中创建了一个全新的 ASP.NET MVC 2 网站,添加了两个类定义并将 HomeController 的 About 操作更改为具有参数dto. 当我转到 URL/Home/About?val1=aaa&val2=bbb&obj.SomeInt=111&obj.ACoolValue=ccc&obj.YetAnotherCoolValue=ddd时,所有属性都已填充。

请注意,子对象的属性名称需要以父对象的属性名称作为前缀(obj在这种情况下)

于 2010-05-13T15:12:04.173 回答