0
Why did my model Addressee returns null after the postback?:
Model:
public class Paciente
{
public Paciente()
{
Endereco = new List<Endereco>();
}
[Key]
public int PacienteID { get; set; }
public string Nome { get; set; }
public string Profissao { get; set; }
public virtual ICollection<Endereco> Endereco { get; set; }
}
public class Endereco
{
[Key]
public int EnderecoID { get; set; }
public int PacienteID { get; set; }
public string Logradouro { get; set; }
public string NOLogradouro { get; set; }
public virtual Paciente Paciente { get; set; }
}
HTML
@model SGMed.Dominio.Entidade.Paciente
@{
ViewBag.Title = null;
}
@using (Html.BeginForm("Alterar", "Paciente", FormMethod.Post))
{
<p>
<input type="submit" value="Salvar Paciente" class="btn btn-primary" />
</p>
<div class="row">
<div class="col-md-12">
<fieldset>
<legend>Dados do Paciente</legend>
<div class="col-md-7">
@Html.LabelFor(model => model.Nome)
@Html.TextBoxFor(model => model.Nome, new { @class = "form-control", style = "min-width:100%;" })
</div>
<div class="col-md-2">
<label>Profissão</label>
<input type="text" id="Profissao" name="Profissao" value="@Model.Profissao" class="form-control" style="min-width:100%;" />
</div>
</fieldset>
</div>
<br />
<div class="col-md-12">
<fieldset>
<legend>Dados do Endereço</legend>
@foreach(var item in Model.Endereco)
{
<div class="row">
<div class="col-md-6">
<label>Logradouro</label>
<input type="text" id="Logradouro" name="Endereco.Logradouro" value="@item.Logradouro" class="form-control" style="min-width:100%;" />
</div>
<div class="col-md-1">
<label>Número</label>
<input type="text" id="NOLogradouro" name="Endereco.NOLogradouro" value="@item.NOLogradouro" class="form-control" style="min-width:100%;" />
</div>
</div>
}
</fieldset>
</div>
</div>