HiddenFor (x => x.Id) está siendo poblado por el UrlParameter en lugar de ViewModel

public ActionResult SomeAction(int Id){
    //Id is set to 2

    var model = //get some thing from db using Id(2);
    //Now model.Id is set to 9;

    return View(model);
}

----------View----------
@Html.HiddenFor(x => x.Id)

Cuando veo la fuente, este campo oculto se establece en 2, no 9. ¿Cómo consigo que se asigne al modelo en lugar de asignar a la información de enrutamiento de URL?

PD. Prefiero no cambiar el nombre de los parámetros porque luego pierdo mi URL de aspecto agradable a menos que cambie la información de enrutamiento. Lo he hecho y funciona, pero no es lo que quiero.

Respuestas a la pregunta(6)

Su respuesta a la pregunta