ost do formulário do MVC 3 Razor com várias vistas parciais fortemente tipadas não vinculativas

Estou curioso para saber se a abordagem de usar várias parciais fortemente tipadas em um formulário que é postado de volta na parcial que contém View é a abordagem correta do MVC para fazer as coisas. A Visualização principal está vinculada ao seguinte modelo com várias outras propriedades e anotações de dados omitidas por questões de brevidade:

public class AccountSetup : ViewModelBase
{
    public bool TermsAccepted { get; set; }
    public UserLogin UserLogin { get; set; }
    public SecurityQuestions SecurityQuestions { get; set; }
}

public class UserLogin
{
    public string LoginId { get; set; }
    public string Password { get; set; }
}

A marcação da tela principal Register.cshtml não está totalmente abaixo, mas é assim que as parciais são usadas abaixo:

@model Models.Account.AccountSetup

. . . <pretty markup> . . . 

@using (Html.BeginForm("Register", "Account", FormMethod.Post))
{ 
     . . . <other fields and pretty markup> . . . 

     @Html.Partial("_LoginAccount", Model.UserLogin)
     @Html.Partial("_SecurityQuestions", Model.SecurityQuestions)

     <input id="btnContinue" type="image" />
}

Apenas para referência, a exibição parcial de _LoginAccount está abaixo, com a marcação em excesso removid

@model Models.Account.UserLogin

<div>
     @Html.TextBoxFor(mod => mod.LoginId)

     @Html.PasswordFor(mod => mod.Password)
</div>

O problema está na postagem do formulário nas propriedades Register the AccountSetup e nulas que estavam contidas nas parciais. No entanto, se eu adicionar os modelos individuais à assinatura do método, eles serão preenchidos. Sei que é porque, quando os campos processam o ID, eles são alterados para que se pareçam com _LoginId para a Visualização do registro, para que não seja mapeado de volta ao modelo AccountSetup.

Não recupera valores para accountSetup.UserLogin ou accountSetup.SecurityQuestions

    [HttpPost]
    public ActionResult Register(AccountSetup accountSetup)
    {

Retorna valores para userLogin e securityQuestions

    [HttpPost]
    public ActionResult Register(AccountSetup accountSetup, UserLogin userLogin, SecurityQuestions securityQuestions)
    {

A questão é como mapear esses dados de volta para as propriedades do modelo Views (AccountSetup), sem precisar adicionar os modelos parciais à assinatura do método, apenas para recuperar os valores? Essa é uma péssima abordagem usando visualizações parciais fortemente tipadas em uma visualização principal?

questionAnswers(2)

yourAnswerToTheQuestion