Asp.net mvc 3 将局部视图加载到视图中的正确方法

Asp.net mvc 3 将局部视图加载到视图中的正确方法,asp.net-mvc-3,Asp.net Mvc 3,我想创建一个视图,允许我添加一个人的电话号码 public class PersonModel { public string Name { get; set; } } public class PhoneModel { public string PhoneNumber { get; set; } } public class PersonDetailViewModel { public PersonModel PersonDetails { get; set; }

我想创建一个视图,允许我添加一个人的电话号码

public class PersonModel
{
    public string Name { get; set; }
}

public class PhoneModel
{
    public string PhoneNumber { get; set; }
}

public class PersonDetailViewModel
{
    public PersonModel PersonDetails { get; set; }
    public IList<PhoneModel> PhoneNumbers { get; set; }
}
公共类PersonModel
{
公共字符串名称{get;set;}
}
公共类电话模型
{
公共字符串PhoneNumber{get;set;}
}
公共类PersonDetailViewModel
{
公共人员模型人员详细信息{get;set;}
公共IList电话号码{get;set;}
}
我将主视图绑定到viewmodel,如下所示

@model DynamicPhoneNumber.Models.PersonDetailViewModel
@{
ViewBag.Title = "Add";
}
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
@model DynamicPhoneNumber.Models.PersonDetailViewModel
@{
ViewBag.Title=“添加”;
}
@使用(Html.BeginForm())
{
@Html.ValidationSummary(true)
DetailsName@Html.TextBoxFor(a=>a.PersonDetails.Name)

}
我的部分观点看起来像

@model DynamicPhoneNumber.Models.PhoneModel
<p>
@Html.TextBoxFor(t => t.PhoneNumber)
</p>
@model DynamicPhoneNumber.Models.PhoneModel

@Html.TextBoxFor(t=>t.PhoneNumber)

Im使用jquery动态添加局部视图

在HttpPost上,我放置了一个断点,可以从PersonDetails.Name中看到值。但是,我加载的partialview中的值都没有绑定到PhoneModel


我需要做什么才能将部分视图中的数据返回到我的viewmodel中?

这里有一篇很好的博客文章,可能有助于解决您的问题

@model DynamicPhoneNumber.Models.PhoneModel
<p>
@Html.TextBoxFor(t => t.PhoneNumber)
</p>