我需要用地址的IList更新公司类别。这些是我的数据模型。MVC3-故障绑定复杂模型
// Entity class Company — managed by Nhibernate
public class Company
{
public virtual IList<Address> _addresses { get; set; }
public Company()
{
_addresses = new List<Address>();
}
}
// Entity class Address — managed by Nhibernate
public class Address
{
public virtual string line1 { get; set; }
public virtual string line1 { get; set; }
}
我打包从实体类视图模型中的数据在控制器的GET动作,而我在控制器的POST操作拆包从视图模型的数据传回的实体类。
这是我的视图模型。
// Class CompanyRequest
public class CompanyRequest
{
public IList<AddressRequest> AddressRequests;
}
//Class AddressRequests
public class AddressRequest
{
public string line1 { get; set; }
public string line1 { get; set; }
}
我正在使用局部视图来显示每个地址框。对于每个AddressRequest in AddressRequests我将该对象传递给部分视图,前缀设置正确。
for(var i = 0 ; i < AddressRequests.Count() ; i++)
{
ViewData["Prefeix"] = String.Format("AddressRequests[{0}]", i);
Html.RenderPartial("_addressPartial", AddressRequests[i]);
}
我需要能够添加一个“添加新地址”按钮,使用户可以添加新的地址到这个列表。这必须在不刷新页面的情况下完成。当用户点击那个按钮时,出现另一个地址框(相同的部分,我猜)。然后用户编辑该框并按下“保存”按钮。此保存按钮应保存整个公司数据,而不仅仅是地址。
有没有办法做到这一点?任何帮助是极大的赞赏!
真的跛脚,刚发现stackoverflow的确如此不允许您发布指向Let Me Google That For You网站的链接。哦,好吧 –
啊哈!找到一个解决方法利用URL压缩器= P它活着! http://bit.ly/XWYE5P –
想通了。我所要做的就是使用AJAX链接异步点击控制器动作。很快就会发布我的整个代码,因为我认为没有任何地方你看到这样做**没有** jQuery。 –