MVC, retornando valores de várias visualizações parciais em uma página
Tenho um problema quando estou tentando passar valores da minha página que contém a mesma exibição parcial duas vezes. Minha definição de classe é como abaixo:
public class Account : IEntity
{
public decimal CurrentBalance { get; set; }
public List<Person> AccountHolders { get; set; }
//to get round the non-existing enum support in EF4.3 wrap enum to int
public int StatusValue { get; set; }
public AccountStatus Status { get { return (AccountStatus)StatusValue; } set { StatusValue = (int) value; } }
public DateTime AccountOpenDate { get; set; }
public DateTime AccountCloseDate { get; set; }
public DateTime AccountSuspensionDate { get; set; }
}
Possui uma lista de pessoas, para a qual fiz uma exibição parcial (para uma única
<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.Age)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Age)
@Html.ValidationMessageFor(model => model.Age)
</div>
</fieldset>
Na página Criar da conta, incluo duas das visualizações parciais que criei como abaix
<div id="Person1">
@Html.Partial("_CreateAccountHolder" )
</div>
<div id="Person2">
@Html.Partial("_CreateAccountHolder")
</div>
Quando olho para o que é postado de volta, ele contém os valores (Nome e Idade como propriedades da Pessoa) que coloquei nos valores do formulário da página e tenho o reboque deles conforme o esperado: CurrentBalance = 19 & Status = Closed & AccountOpenDate = 12% 2F12% 2F2012 & Name = mustafa & Age = 20 & Name = sofia & Age = 20 & AccountCloseDate = 12% 2F12% 2F2012 & AccountSuspensionDate = 12% 2F12% 2F2012
Mas quando olho para o meu método de criação no meu controlador, vejo a lista AccountHolder como nula. Tentei com várias assinaturas ... public ActionResult Create (conta pessoal da conta, Person [] accountHolders) public ActionResult Create (conta pessoal da conta, List accountHolders)
Se eu tiver apenas uma visão parcial da Pessoa e tiver meu controlador como este, posso ver o objeto Pessoa vinculado corretamente. public ActionResult Create (conta pessoalaconta, Pessoa accountHolder)
Alguma idéia de onde estou errado?