ネストされたプロパティに奇妙な問題があります..これが設計によるものかどうかわかりませんか? 私がする時
@Html.EditorFor(model => model.Name)
投稿が機能し、モデルが設定されます。私が代わりに行うとき
@Html.EditorFor(model => model.Detail.Name)
投稿でmodel.Detail.Nameがnullです..これが機能するために何か特別なことをする必要がありますか?
ネストされたプロパティに奇妙な問題があります..これが設計によるものかどうかわかりませんか? 私がする時
@Html.EditorFor(model => model.Name)
投稿が機能し、モデルが設定されます。私が代わりに行うとき
@Html.EditorFor(model => model.Detail.Name)
投稿でmodel.Detail.Nameがnullです..これが機能するために何か特別なことをする必要がありますか?
それはうまくいくはずです。再現できません。
モデル:
public class ModelClass
{
public string Name { get; set; }
public DetailClass Detail { get; set; }
}
public class DetailClass
{
public string Name { get; set; }
}
コントローラ:
public class HomeController : Controller
{
public ActionResult Index()
{
var model = new ModelClass
{
Name = "model name",
Detail = new DetailClass
{
Name = "detail name"
}
};
return View(model);
}
[HttpPost]
public ActionResult Index(ModelClass model)
{
return Content(
string.Format(
"name: {0}, detail.name: {1}",
model.Name,
model.Detail.Name
)
);
}
}
意見:
@model ModelClass
@using (Html.BeginForm())
{
@Html.EditorFor(x => x.Name)
@Html.EditorFor(x => x.Detail.Name)
<button type="submit">OK</button>
}
2 つのプロパティが正しくバインドされています。