0
总是在同一个项目上(对于那些回答我的人),我有一个与实体VehicleFuelCard(一对多关系)有关的实体“Person”。在我的“创建人”的说法,我包括通过AJAX代码这实际上是一个“创建加油卡”视图的局部视图:从局部视图添加数据
<script type = "text/javascript">
function AddVehicleFuelCard() {
$("#test").load("@Url.Action("AddVehicleFuelCard","Person",
new { personViewModel = Model })");
}
</script>
,并调用它在PersonController:
public ActionResult AddVehicleFuelCard(PersonViewModel personViewModel)
{
ViewBag.Id_VehicleFuelCardCompany = new SelectList(db.VehicleFuelCardCompanies, "Id_VehicleFuelCardCompany", "Name");
return PartialView("PartialVehicleFuelCard", personViewModel);
}
这里是视图模型,我使用:
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;
}
}
}
而建立在我的控制器操作:
public ActionResult Create()
{
ViewBag.Id_ProductPackageCategory = new SelectList(db.ProductPackageCategories, "Id_ProductPackageCategory", "Name");
return View();
}
//
// POST: /Person/Create
[HttpPost]
public ActionResult Create(PersonViewModel personViewModel)
{
if (ModelState.IsValid)
{
db.Persons.AddObject(personViewModel.Person);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.Id_ProductPackageCategory = new SelectList(db.ProductPackageCategories, "Id_ProductPackageCategory", "Name", personViewModel.Person.Id_ProductPackageCategory);
return View(personViewModel);
}
在添加人员时添加加油卡的任何想法?谢谢 !
谢谢...我想我必须做一些研究,因为我没有抓住你所说的一切。但是,谢谢。 – Traffy 2013-03-04 15:26:30
np,我已经扩展了我的答案。 – Ulises 2013-03-04 15:44:36
谢谢,我会试试这个! – Traffy 2013-03-04 15:52:21