如何使用JQuery/javascript獲取ASP .NET MVC應用程序客戶端上的用戶名並將其發回服務器以供控制器處理?使用ASP.NET MVC在客戶端獲取用戶名
我想發生的事件的順序如下:
- 獲取客戶機的用戶名。
- 將用戶名發回服務器。
- 實例化在構造函數中接受用戶名的新對象。 (使用Ninject for DI)
- 將對象注入接收控制器。
如何使用JQuery/javascript獲取ASP .NET MVC應用程序客戶端上的用戶名並將其發回服務器以供控制器處理?使用ASP.NET MVC在客戶端獲取用戶名
我想發生的事件的順序如下:
在客戶端的東西,你不應該有權限訪問用戶名。你也不需要它。在你的服務器端的代碼,你可以用這個代碼訪問Windows身份驗證的用戶名:
var username = HttpContext.Current.User.Identity.Name.ToString();
要建立在@Jacob答案的頂部,獲得服務器端控制器中的值填充視圖模型屬性與變量的這個值用戶名
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的或JavaSc RIPT 希望這會增加對有助於在MVC和jQuery
要添加到這裏的討論新手,我們可以得到的用戶名進入一個javascript變量,如下所示:
<text>var jsUser = '@HttpContext.Current.User.Identity.Name.ToString()';</text>
您的應用程序有任何形式的認證?如果是這樣,什麼樣的? (例如窗體,Windows) – Jacob 2012-03-19 23:58:05
認證被認爲是在用戶登錄到Intranet時完成的(所以Windows身份驗證)。 – Seth 2012-03-20 00:11:13