TempData [] предназначена для хранения элементов между действиями, но использует сессию.Если ключи не помечены с помощью Keep, они удаляются после выполнения следующего действия.
Если вы хотите избежать полной остановки Session, вам придется сериализовать ваш объект и отправить его клиенту в представлении.(например, в скрытой переменной формы), а затем десериализовать его обратно в Action2.
Если вы хотите использовать TempData (что будет самым простым, если вы по какой-то причине не сможете использовать сессию), синтаксис будет простобыть:
public ActionResult Action1()
{
MyModel model = new MyModel();
//do something with model.UserTypeField
TempData["UserTypeField"] = model.UserTypeField;
return View(model);
}
public ActionResult Action2(MyModel model)
{
model.UserTypeField = TempData["UserTypeField"];
return View();
}