当我在Action中发布数据时,为什么部分视图的字段为空?

时间:2015-03-23 14:16:29

标签: ios asp.net asp.net-mvc asp.net-mvc-4

我的问题是关于asp.net-MVC:

我的问题是:当我点击索引视图中的提交按钮时,我的部分视图中的地址字段为空...这是我的代码:

我有一个人类:

public class Person
{
    public Person()
    {
        Address = new Address();
    }

    public int Id { get; set; }
    public string Name { get; set; }
    public string Family { get; set; }

    public Address Address { get; set; }
}

和地址类:

public class Address
{
    public string City { get; set; }
    public string Street { get; set; }
}

我创建了一个这样的索引视图。在我看来,有一个部分观点:

@using (Html.BeginForm("Index", "Home"))
{
    <label>Name: </label>
    @Html.EditorFor(m => m.Name)

    <label>Family</label>
    @Html.EditorFor(m => m.Family)

    @Html.Partial("GetAddress", Model.Address)

    <input type="submit" value="Submit" title="Submit" />
}

我的部分观点是:

<label>City :</label>
@Html.EditorFor(m => m.City)
<br />
<label>Street: </label>
@Html.EditorFor(m => m.Street)

这是错误的图像: http://8pic.ir/images/eog6owv9h9bbi156tp0r.png

1 个答案:

答案 0 :(得分:1)

尝试在调用部分内容时添加HtmlFieldPrefix。

 @Html.Partial("GetAddress", Model.Address, new ViewDataDictionary { TemplateInfo = new TemplateInfo { HtmlFieldPrefix = "Address" } })

这样您就可以正确命名文件,模型绑定器会正确绑定它们。