2016-01-20 34 views
0

我试图让当前用户名登录在视图中,但我不能这样做。 我有这样的代码:在视图中获取当前用户名MVC 4

<div class="editor-label"> 
     @Html.LabelFor(model => model.Name) 
    </div> 
    <div class="editor-field"> 
     @Html.TextBoxFor(model => model.Name, System.Environment.GetEnvironmentVariable(User.Identity.Name)) 
    </div> 

但它不起作用。我希望当用户转到表单时,它会以他无法编辑的方式自动显示他的用户名。每次我尝试一些我搜索的东西,或者它不会显示用户名,或者它会发送一个空格而不是用户名。 有人可以帮我吗?或者我应该在类或控制器中声明变量Name是当前用户名(如果是的话,我该怎么办?)? 我使用的MVC 4与EF 4.5和SimpleMembership

+0

您应该将用户名分配到一个控制器中的模型属性,然后将它传递给显示 – markpsmith

+0

认为这取决于你如何使用'SimpleMembership'什么返回'User.Identity.GetUserId()'在你的情况? –

+0

http://forums.asp.net/t/1883089.aspx?SimpleMembership+simple+question+how+to+retrieve+currentUser+ – amol

回答

1

您可以像下面这样做。

@Html.TextBox("Name", User.Identity.Name) 
1

这适用于我们在Umbraco剃刀视图。我认为它在Umbraco之外的普通MVC中会一样

You are logged in as @Context.User.Identity.Name) 
+0

这种情况下,我问它不起作用 – abcdef