将User.Identity.Name的值获取到模型中

时间:2013-03-07 19:11:07

标签: asp.net-mvc

我正在尝试将User.Identity.Name值放入供给我的控制器操作的模型中。

在我的剃刀代码中,我可以显示它

@User.Identity.Name

我尝试过各种方法将它放在隐藏字段的值中,以便随模型一起提交。

@Html.EditorFor(m => m.UserName, new {@value=User.Identity.Name })

我的观点模型:

    [HiddenInput(DisplayValue = false)]
    public string UserName { get; set; }

有更好或更好的方法吗?

最终,我会将此数据记录到服务器上的日志记录数据库中。

2 个答案:

答案 0 :(得分:5)

您无需在客户端上显示它并将其发送出去。在您的控制器中,您可以执行以下操作:

User.Identity.Name

答案 1 :(得分:1)

您可能不希望此值来自客户端,因为它可以更改为他们想要的任何内容。

相反,您希望接收提交的表单的操作方法从User.Identity.Name设置此值

myModel.UserName  = User.Identity.Name