Получить имя пользователя на клиенте с ASP.NET MVC - PullRequest
2 голосов
/ 20 марта 2012

Как вы используете JQuery / javascript, чтобы получить имя пользователя на стороне клиента приложения ASP .NET MVC и отправить его обратно на сервер для обработки контроллером?

Я хотел бы следующую последовательностьследующих событий:

  1. Получить имя пользователя клиентского компьютера.
  2. Отправить имя пользователя обратно на сервер.
  3. Создать новый объект, который принимает имя пользователя в конструкторе.(Использование Ninject для DI)
  4. Внедрение объекта в принимающий контроллер.

Ответы [ 3 ]

3 голосов
/ 20 марта 2012

На стороне клиента у вас не должно быть доступа к имени пользователя.Тебе это тоже не нужно.В коде на стороне сервера вы можете получить доступ к имени пользователя для аутентификации Windows с помощью этого кода:

var username = HttpContext.Current.User.Identity.Name.ToString();
0 голосов
/ 29 декабря 2012

Чтобы добавить к обсуждению здесь, мы можем получить имя пользователя в переменную javascript следующим образом:

<text>var jsUser = '@HttpContext.Current.User.Identity.Name.ToString()';</text>
0 голосов
/ 28 декабря 2012

Чтобы построить поверх ответа @Jacob, получите значение в контроллере на стороне сервера, заполните свойство viewmodel этим значением переменной username

    var username = HttpContext.Current.User.Identity.Name.ToString();
vmUser.UserName = username; // Here vmUser is a sample ViewModel

В cshtml, если вы используете бритвенный движок, используйте скрытую переменную, используя одну из конструкций ниже

  @Html.Hidden or
   @Html.HiddenFor(um=>um.UserName) 

для доступа к нему в Jquery или JavaScript Надеюсь, что это дополнение поможет новичкам в MVC и JQuery

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...