使用ASP.NET MVC在客户端获取用户名

时间:2012-03-19 23:52:04

标签: jquery asp.net-mvc

如何使用JQuery / javascript在ASP .NET MVC应用程序的客户端获取用户名并将其发回服务器以供控制器处理?

我希望发生以下事件序列:

  1. 获取客户端计算机的用户名。
  2. 将用户名发回服务器。
  3. 实例化在构造函数中使用用户名的新对象。 (使用Ninject进行DI)
  4. 将对象注入接收控制器。

3 个答案:

答案 0 :(得分:3)

在客户方面,您无法访问用户名。你也不需要它。在服务器端代码中,您可以使用以下代码访问Windows身份验证用户名:

var username = HttpContext.Current.User.Identity.Name.ToString();

答案 1 :(得分:0)

要在@Jacob答案的基础上构建,请获取服务器端控制器中的值,使用此变量username

的值填充viewmodel属性
    var username = HttpContext.Current.User.Identity.Name.ToString();
vmUser.UserName = username; // Here vmUser is a sample ViewModel

在cshtml中,如果使用razor引擎使用隐藏变量,则使用以下构造之一

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

在Jquery或JavaScript中访问它 希望这可以为mvc和jquery中的新手提供帮助

答案 2 :(得分:0)

要添加到此处的讨论,我们可以将用户名变为javascript变量,如下所示:

<text>var jsUser = '@HttpContext.Current.User.Identity.Name.ToString()';</text>