ASP.NET MVC beginform用于复杂属性

时间:2016-05-13 13:46:12

标签: c# asp.net-mvc razor

我在mvc 5中绑定模型时遇到问题。 例如,我有两个模型:

public class FirstViewModel
{
     public string FirstProperty {get;set;}
     public string SecondProperty {get;set;}
}

和另一个

public class SecondViewModel
{
     public string SimpleProperty{get;set;}
     public FirstViewModel ComplexProperty {get;set;}
}

我有一个带有SecondViewModel模型类的强类型视图。在这个视图中我希望有一个FirstViewModel的表单,女巫将把它发布到控制器。 必须是这样的:

查看

@model SecondViewModel

@html.EditorFor(x => x.SimpleProperty)
@using(Html.BeginForm("Action", "MyController", FormMethod.Post))
{
   @Html.EditorFor(x => x.FirstViewModel) // I have a custom editor in EditorTemplates folder
<input type="submit" value="submit"/>
}

和控制器:

public class MyController : Controller
{
    public ActionResult MyAction(FirstViewModel model)
    {
    }
}

但是如果我这样做,FirstViewModel属性总是空字符串。感谢您的建议

0 个答案:

没有答案