Вы используете здесь синтаксис бритвы, но пытаетесь смешать его со старым синтаксисом asp.net, используйте
@ViewData["UserName"]
вместо
Кроме того, обычно вы не используете сумку вида для передачи данных в вид. Стандартная практика состоит в том, чтобы создать модель (стандартный класс) со всеми битами данных, которые требуется вашему представлению (странице), а затем передать эту модель представлению из вашего контроллера (возврат View (myModel);)
Для этого вам также нужно объявить тип модели, которую вы используете в своем представлении
@model Full.Namespace.To.Your.MyModel
прочитайте http://msdn.microsoft.com/en-us/gg618479 для базового учебника по моделям MVC