当我调用html.action方法时,我得到一个空模型,这是我的视图
@model Models.Element.ElementEditModel
@{
Layout = null;
}
@using (Html.BeginForm("Save", "Element", FormMethod.Post, new { autocomplete = "off", onsubmit = "return false;" }))
{
@using (Html.BeginForm("Save", "Element", FormMethod.Post, new { autocomplete = "off", onsubmit = "return false;" }))
{
if (Model != null)
{
@Html.HiddenFor(x => x.ID)
@Html.HiddenFor(x => x.style)
}
<div>
@Html.Partial("Properties/_genre")
@Html.Action("Properties", "Option", new { ID = Model.ID })
</div>
<a href="@Url.Action("Save", "Element")"> save</a>
如果我删除Html.Action它可以工作!
[HttpPost]
public ActionResult Save( Models.ElementEditModel.ElementEditModel model)
{...}
答案 0 :(得分:1)
您有两个开始表单。不要那样做。
您的视图模型@model Models.Element.ElementEditModel
和操作模型Models.ElementEditModel.ElementEditModel model
似乎不匹配。
您在锚标记中调用save,这将导致GET而不是POST。使用类型为submit的输入让表单知道发布数据
<input id="SaveButton" value="Save" type="submit">