我相信每个人都遇到过这个,但我想无论如何都会问这个。所以这就是我所拥有的 -
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)%>
我想这是预期的行为,但我在这里遗漏了什么吗?