मैं इस कक्षाएं जो का उपयोग कर इकाई की रूपरेखा कोड पहले मैप किया गया है है:ASP.NET MVC 3 एक-से-अनेक फार्म
public class Person
{
public int PersonId { get; set; }
public string Name { get; set; }
//... additional properties
[Required]
public virtual ICollection<Address> Addresses { get; set; }
}
public class Address
{
public int AddressId { get; set; }
public string Street { get; set; }
//... additional properties
public int PersonId { get; set; }
public virtual Person Person { get; set; }
}
तो, ASP.NET MVC 3 का उपयोग, मैं कैसे संपादित दृश्य से प्रदर्शन कर सकते हैं व्यक्ति के लिए केवल एक फॉर्म में किसी पते के भीतर सभी व्यक्ति संपत्तियों को भरने के लिए?
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Person</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Adresses.FirstOrDefault().Street)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Adresses.FirstOrDefault().Street)
@Html.ValidationMessageFor(model => model.Adresses.FirstOrDefault().Street)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
इस डेटाबेस से स्ट्रीट के साथ आदानों को दिखाने के लिए ठीक काम करता है, लेकिन सबमिट करते हैं, स्ट्रीट does not को परिवर्तन जब मैं करता हूँ।
[HttpPost]
public ActionResult Edit(int id, FormCollection formCollection)
{
Person person = unityOfWork.PersonRepository.GetById(id);
UpdateModel<Person>(person);
if (ModelState.IsValid)
{
unityOfWork.PersonRepository.Update(person);
unityOfWork.SaveChanges();
return RedirectToAction("Index");
}
return View(person);
}