誰もがこの問題を抱えていると確信していますが、とにかくこれを尋ねると思いました。だからここに私が持っているものである -asp.net mvcでオブジェクト内のオブジェクトを渡している間の動作ですか?
public class ABC
{
public int x;
public int y;
public XYZ obj;
}
public class XYZ
{
int x1;
int y1;
}
public ActionResult Test1()
{
ABC model= new ABC();
model.x=1;
model.y=2;
ABC.obj= new XYZ();
model.x1=12;
obj.y2=34;
return View(model);
}
[HttpPost]
public ActionResult Test1(ABC model)
{
//does not get XYZ obj
}
View-
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Models.ABC>" %>
<% using (Html.BeginForm())
{%>
//stuff here
<%:Html.HiddenFor(model => model.obj)%>
<%}%>
私はXYZのフィールドX1とY1に対して明示的にのために隠されたフィールドをすれば、私はそれらの値を取り戻します。このように - <%:Html.Hidden("Model.obj.x1",Model.obj.x1)%>
これは予想される動作だと思いますが、ここで何か不足していますか?