MVC 3 Razor Form Post con múltiples vistas parciales fuertemente tipadas no vinculantes

Tengo curiosidad acerca de si el enfoque de usar múltiples parciales fuertemente tipados dentro de un formulario que se publica en la Vista que contiene el parcial es el enfoque MVC correcto para hacer las cosas. La vista principal está vinculada con el siguiente modelo con varias otras propiedades y anotaciones de datos omitidas por brevedad:

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; }
}

El marcado de la vista principal de Register.cshtml no está totalmente debajo, pero así es como se usan los parciales a continuación:

@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" />
}

Solo como referencia, la vista parcial de _LoginAccount se encuentra a continuación con el exceso de marcado eliminado.

@model Models.Account.UserLogin

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

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

El problema está en el formulario publicado en el Registro. Las propiedades de AccountSetup son nulas que estaban contenidas en los parciales. Sin embargo, si agrego los modelos individuales a la firma del método, se completarán. Me doy cuenta de que es porque cuando los campos representan la ID se cambia para que se vean como _LoginId para la Vista de registro para que no se asigne de nuevo al modelo AccountSetup.

No recupera los valores de accountSetup.UserLogin o accountSetup.SecurityQuestions

    [HttpPost]
    public ActionResult Register(AccountSetup accountSetup)
    {

Recupera valores para userLogin y securityQuestions

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

La pregunta es ¿cómo se correlacionan con las propiedades del modelo que contiene Vistas (AccountSetup) sin tener que agregar los modelos parciales a la firma del método solo para recuperar los valores? ¿Es este un mal enfoque utilizando vistas parciales fuertemente tipadas dentro de una vista principal?

Respuestas a la pregunta(4)

Su respuesta a la pregunta