Asp.net mvc 3 MVC3:在前端显示用户名,但控制器必须使用用户id

Asp.net mvc 3 MVC3:在前端显示用户名,但控制器必须使用用户id,asp.net-mvc-3,Asp.net Mvc 3,我希望我没有纠缠于我的许多问题 我正在使用asp.net配置在ASPNETDB.MDF数据库中创建用户 我有一个客户机MVC,我希望在创建、编辑或删除客户机时,它必须显示执行操作的用户的用户名和姓氏。这两个属性在客户机模型中是r。我希望我的控制器只处理用户的ID(PK),而不是他们的名字。我只知道如何使控制器与用户名一起工作。如何确保使用id完成任何功能,但显示的是用户名?这是我在clientcontroller中的创建方法 [Authorize] public ActionRe

我希望我没有纠缠于我的许多问题

我正在使用asp.net配置在ASPNETDB.MDF数据库中创建用户

我有一个客户机MVC,我希望在创建、编辑或删除客户机时,它必须显示执行操作的用户的用户名和姓氏。这两个属性在客户机模型中是r。我希望我的控制器只处理用户的ID(PK),而不是他们的名字。我只知道如何使控制器与用户名一起工作。如何确保使用id完成任何功能,但显示的是用户名?这是我在clientcontroller中的创建方法

    [Authorize]
    public ActionResult Create()
    {
        var model = new title
        {

            create_dt = DateTime.Now,
            last_maint_dt = DateTime.Now,
            row_version = 1,
            status = "ACTIVE",
            user_id = System.Web.HttpContext.Current.User.Identity.Name,
            last_user_id = System.Web.HttpContext.Current.User.Identity.Name

        };

        return View(model);
    }

如果使用默认的ASP.NET成员资格提供程序,则可以通过访问
System.Web.Security.Membership
找到帐户的用户GUID。然后可以使用GetUser()方法并将用户名作为参数传递给它

//Get Current User ID
var user = System.Web.Security.Membership.GetUser(User.Identity.Name);

if (user != null)
{
    string id = user.ProviderUserKey.ToString();
}
如果您有GUID并且想要用户名

var user = System.Web.Security.Membership.GetUser(id);
if (user != null)
{
    string username = user.UserName;
}

好的…那么如何将其分配给我的sql server数据库中的my username和last username属性,它们是字符串变量?您是否在询问如何将用户保存到数据库?我不太确定我是否理解你的问题。在上面的代码中,user_id和last_user_id是客户端模型中的字符串属性。那么,如何使控制器与ASPNETDB中用户的id一起工作,但是当用户创建客户端时,视图显示创建客户端的用户的用户名?当控制器使用该用户的唯一标识符(ID)时,我如何转换视图以显示用户名的更多信息?哦,有很多选项可供选择。您可以添加两个新属性username和last username,并在视图中简单地显示它们。或者您可以在视图中使用内联C#代码来提取唯一ID的用户名。添加其他属性可能是最好的。