I try to pass values from textbox to controller but my first value gets passed and my second value doesn't get passed . To be short i'll post my code here :
The code from index view :
@model FirstProject.Controllers.Family
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@using (@Html.BeginForm("SubmitTextBox", "OtherExample", FormMethod.Post))
{
@Html.TextBoxFor(x => x.Name)
@Html.TextBoxFor(x => x.Member.FirstName)
<input type="submit"/>
}
<p>@Model.Name</p>
<p>@Model.Member.FirstName</p>
the code from controller :
public ActionResult Index()
{
return View(new Family());
}
public ActionResult SubmitTextBox(Family model)
{
return View("Index", model);
}
and my model :
public class Family
{
public string Name { get; set; }
public Member Member;
public Family()
{
Member = new Member();
}
}
public class Member
{
public string FirstName { get; set; }
}
My Name value is shown but my Member.Firstname is'n shown in the view because isn't passed. What is happening can someone explain ?
You have not make Member
property.
Make Member
property in Model instead of field:
public Member Member {get;set;}
Your Model:
public class Family
{
public string Name { get; set; }
public Member Member {get;set;}
public Family()
{
Member = new Member();
}
}