从sql数据库向textbox添加值

时间:2012-10-27 22:49:48

标签: c# asp.net

我正在尝试创建一个只是为了学习ASP.NET c#的网站。我虽然试图从我的数据库中获取值,但我想说如果“客户”已登录,我可以显示他的地址详细信息一些文本框。与使用Select的sproc类似。有人可以帮助我或建议我在哪里可以了解如何获取客户的详细信息?或者有一种特殊的方式我应该这样做而不是使用“糟糕的编程方法”。

1 个答案:

答案 0 :(得分:0)

建议使用内置的Membership类:

MembershipUser m = Membership.GetUser();

if (m == null)
{
   // User not logged on.
}

用户ID存储在m.ProviderUserKey中,而不是使用Entity Framwork(如果不这样,请考虑使用它。简单而方便)使用以下方法获取有关此用户的数据:

var loggedOnUser = context.Users.First(u=>u.ProviderUserKey == m.ProviderUserKey);

    if (loggedOnUser  == null)
    {
       // Shoudn't happen. If do, the user logged in for some reason is not stored in the database.
    }

您可以更好地实现从MembershipUser派生的CustomMembershipProvider和CustomMembershipUser,因此您可以通过这种方式检索有关用户的所有信息:

// Get custom user (if allready logged in)
CustomMembershipUser user = Membership.GetUser() as CustomMembershipUser;