【发布时间】:2015-03-11 10:01:57
【问题描述】:
您好,我有以下问题:
我试图通过表单将模型发布到其他控制器操作。
但是收到的模型只填充了null 元素。
ToolController.cs
public class ToolController : Controller
{
public ActionResult Index()
{
var Model = new EditToolModel{ /* Some data */ };
return View(Model);
}
[HttpPost]
public ActionResult EditToolOverview(EditToolModel myModel)
{
return RedirectToAction("Index", "Tool", new { show = "overview" });
}
}
EditToolModel.cs
public class EditToolModel
{
public Tools tool;
public IEnumerable<Tools> tools { get; set; }
public ToolsExtention tool_extention;
public string latest_version { get; set; }
public string latest_version_type { get; set; }
public string latest_devStep { get; set; }
public IEnumerable<ToolVersionsView> versions { get; set; }
public IEnumerable<DevelopmentStep> developmentSteps { get; set; }
}
Index.cshtml
@model EditToolModel
@{
ViewBag.Title = "Index";
Layout = "~/Layout/_Layout.cshtml";
}
@Html.Partial("ToolOverview", this.Model)
ToolOverview.cshtml
@model EditToolModel
@using (Html.BeginForm("EditToolOverview", "Tool", FormMethod.Post))
{
<div class="contend">
@Html.TextBoxFor(Model => Model.tool_extention.a)
@Html.TextBoxFor(Model => Model.tool_extention.b)
<input type="submit" name="tool_submit" value="Submit"/>
</div>
}
【问题讨论】:
-
不是
@Html.TextBoxFor(Model => Model.tool_extention.a),而是@Html.TextBoxFor(m=> m.tool_extention.a)
标签: c# asp.net asp.net-mvc-4 razor html-helper