Hi,
I have the requirement to apply validation on partial views sharing same model.
here is my model - (used in partial view and parent view both)
public class AdditionalHoldersFormModel
Below is my view:
@model DO.Web.ViewModels.AdditionalHoldersFormModel
<div id="dvAdditionalOwnerPersonPartial"> <br /> @Html.Partial("Brokerage\\_AdditionalHolderPersonPartial") </div> and my partial view
@model DO.Web.ViewModels.AdditionalHoldersFormModel
@using (Ajax.BeginForm("AdditionalHolderPersonPartial", null, new AjaxOptions { HttpMethod = "Post" }, new { data_bind = "submit: savePerson" }))
{
<div class="rowSec"> @Html.LabelFor(m => m.AdditionalHolderPersonModel.PersonDetailsModel.LastName) @Html.TextBoxFor(m => m.AdditionalHolderPersonModel.PersonDetailsModel.LastName, new { data_bind = "value:LastName" }) @*<input class="input-large" data-bind='value: LastName' placeholder="Last Name"/>*@ </div> }
and controller
public ActionResult AdditionalHolders(AdditionalHoldersFormModel obj)
I have the requirement to apply validation on partial views sharing same model.
here is my model - (used in partial view and parent view both)
public class AdditionalHoldersFormModel
{
public AdditionalHolderPersonModel AdditionalHolderPersonModel { get; set; }
}
public class AdditionalHolderPersonModel{
public PersonDetailsModel PersonDetailsModel { get; set; }
}
public class PersonDetailsModel{
[Display(Name = "Prefix(Optional)")]
public string Prefix { get; set; }
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Display(Name = "Middle Name(Optional)")]
public string MiddleName { get; set; }
[Display(Name = "Last Name")]
public string LastName { get; set; }
}Below is my view:
@model DO.Web.ViewModels.AdditionalHoldersFormModel
<div id="dvAdditionalOwnerPersonPartial"> <br /> @Html.Partial("Brokerage\\_AdditionalHolderPersonPartial") </div> and my partial view
@model DO.Web.ViewModels.AdditionalHoldersFormModel
@using (Ajax.BeginForm("AdditionalHolderPersonPartial", null, new AjaxOptions { HttpMethod = "Post" }, new { data_bind = "submit: savePerson" }))
{
<div class="rowSec"> @Html.LabelFor(m => m.AdditionalHolderPersonModel.PersonDetailsModel.LastName) @Html.TextBoxFor(m => m.AdditionalHolderPersonModel.PersonDetailsModel.LastName, new { data_bind = "value:LastName" }) @*<input class="input-large" data-bind='value: LastName' placeholder="Last Name"/>*@ </div> }
and controller
public ActionResult AdditionalHolders(AdditionalHoldersFormModel obj)
{
obj.AdditionalHolderPersonModel = new AdditionalHolderPersonModel();
obj.AdditionalHolderPersonModel.PersonDetailsModel = new PersonDetailsModel();
return View(_viewLocation, obj);
}
[HttpPost]
public ActionResult AdditionalHoldersPost(AdditionalHoldersFormModel obj)
{
return RedirectToAction(_actionName, _controllerName);
}
//save AdditionalHolderPersonPartial
public string AdditionalHolderPersonPartial(AdditionalHoldersFormModel model)
{
var firstname = model.AdditionalHolderPersonModel.PersonDetailsModel.FirstName;
var streetaddress1 = model.AdditionalHolderPersonModel.LegalAddressModel.StreetAddress1;
ViewBag.SaveAdditionalPersonPartial = false;
return firstname;
}
could anyone help?