У меня была точно такая же проблема, и я до сих пор не нашел удовлетворительного ответа. Все варианты, которые мы исследовали, имели различные проблемы. В конкретном примере, который вы упомянули, вы, очевидно, можете хранить эти данные в сеансе, поскольку это будет работать для этого примера. Могут быть и другие сценарии, которые у нас были, в которых это может не сработать, но простая пользовательская информация, подобная этой, подойдет для сессии.
Мы только что установили BaseController, который следит за тем, чтобы информация всегда была установлена и корректна для каждого представления. В зависимости от того, как вы обрабатываете аутентификацию и т. Д., У вас всегда будут доступны некоторые пользовательские данные в HttpContext.User.Identity.Name. На которые также можно ссылаться.