C# 从局部视图添加数据
始终在同一个项目上(对于询问我的人),我有一个实体“人”,它与实体VehicleFuelCard(一对多关系)有关。在我的“CreatePerson”视图中,AJAX代码包含了一个局部视图,实际上是一个“CreateFuelCard”视图: 以下是我使用的ViewModel:C# 从局部视图添加数据,c#,jquery,ajax,asp.net-mvc,C#,Jquery,Ajax,Asp.net Mvc,始终在同一个项目上(对于询问我的人),我有一个实体“人”,它与实体VehicleFuelCard(一对多关系)有关。在我的“CreatePerson”视图中,AJAX代码包含了一个局部视图,实际上是一个“CreateFuelCard”视图: 以下是我使用的ViewModel: public class PersonViewModel { private Person _person; public List<VehicleFuelCard> listVehicleFu
public class PersonViewModel
{
private Person _person;
public List<VehicleFuelCard> listVehicleFuelCard;
public Person Person
{
get
{
return this._person;
}
}
public PersonViewModel()
{
this._person = new Person();
}
public PersonViewModel(Person person)
{
this._person = person;
}
public VehicleFuelCard NewVehicleFuelCard
{
get
{
VehicleFuelCard element = new VehicleFuelCard();
element.Person = this.Person;
Person.VehicleFuelCards.Add(element);
return element;
}
}
public PhoneCard NewPhoneCard
{
get
{
PhoneCard element = new PhoneCard();
Person.PhoneCards.Add(element);
return element;
}
}
public ProductAllocation NewProductAllocation
{
get
{
ProductAllocation element = new ProductAllocation();
Person.ProductAllocations.Add(element);
return element;
}
}
}
在我添加一个人的同时添加一张加油卡,你有什么想法吗?谢谢 如果您想在同一请求上发布
个人
和燃油卡
,您需要更新客户端的数据,将燃油卡
作为请求的一部分
这是在客户端,在服务器端,您可以将燃油卡
作为嵌套对象添加到Person
(不过,在序列化到客户端时要注意循环引用)
这是一个粗略的例子。更新客户端上的对象,以包括PersonViewModel
和Fuel Card
。例如,使用javascript创建对象:
var person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};
添加嵌套对象
person.FuelCard = {property1 ="val1", property2="Val2};
然后使用Ajax将其发布到服务器
$.post('/Person/Create', person, function(data) {
// do something on success
});
谢谢我想我得做些调查,因为我没听懂你解释的一切。但是谢谢,我已经扩展了我的答案。
var person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};
person.FuelCard = {property1 ="val1", property2="Val2};
$.post('/Person/Create', person, function(data) {
// do something on success
});