4

POSTではなくGETを介して、コントローラーからビューに次のようなものを渡したいと思っています。

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)
}

問題は、val1 と val2 にデータがある MyObject のインスタンスが null として返されることです。誰かがこれに出くわしましたか?

4

1 に答える 1

4

Visual Studio 2010 でまったく新しい ASP.NET MVC 2 Web サイトを作成し、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 に答える