【问题标题】:How to display specific row of records from database ASP.Net?如何显示数据库 ASP.Net 中的特定记录行?
【发布时间】:2014-11-15 06:25:05
【问题描述】:

我使用已提供的默认 Web 表单在 Visual Studio 中创建了一个包含注册和登录表单的表单。因此,已经提供了某人注册和登录的代码,并且他们输入的详细信息已经发送到默认的会员数据库。

我想要的是,一旦用户登录,他们就可以访问仅限会员的网页,他们可以在其中输入其他详细信息,这些详细信息可以插入到我自己创建的数据库中。但是,我还想要的是,一旦该人将他们的详细信息输入我的数据库,他们以后可以返回并更改它。

我想知道的是如何让该特定用户仅访问他们的记录?

我了解 FormView 和 DetailView 的使用,但它们似乎显示整个数据库表,而我只想要那个特定的视图。我想尝试显示最近添加的记录,但这会导致问题,因为当其他人再次登录网站并查看他们的详细信息时,它可能最终会显示另一条记录。

【问题讨论】:

  • 您需要查看会员系统 - 只有拥有权限的人才能查看/编辑/删除记录。
  • @IrishChieftain 我该怎么做?
  • @sass 检查我的答案并告诉我是否有不清楚的地方!:)
  • Google 是你的朋友 - 我就是这样学会的 :)
  • @sass 发生了什么,现在还在工作吗?

标签: c# mysql sql asp.net visual-studio


【解决方案1】:

当他登录时,您应该在会话中写入用户 ID。之后您可以从会话中检索它并确切知道哪个用户正在登录。

Session["_USERID"] = value;

您可以创建属性:

public Guid UserID
{
   get
      {
           if(Session["_USERID"] != null)
              return (Guid)Session["_USERID"];
      }
   set
      {
           Session["_USERID"] = value;
      }
}

此属性将在登录时设置为用户 ID,在注销时设置为 null。拥有每个 UI 页面都将继承的基类并将此属性放在基类中会很好。在这种情况下,当您打开当前用户页面时,您可以获取该属性。

【讨论】:

  • 我可以用用户名替换 UserID 吗?
  • @sass 你可以存储任何你想要的,但你应该存储用户表的PK(唯一指标)。在这种情况下,当您打开页面 UserEdit(用户将单击以编辑其个人资料的页面)时,您可以进行查询以获取所有用户数据。如果您只存储名称,则无法始终检索到正确的信息(两个人可以有相同的名称)
  • @sass - 如果您要求用户名始终是唯一的,那么您可以使用它。一般来说,使用密钥更容易、更可靠。在某些环境中,用户名可以更改,例如电子邮件地址或婚姻的受害者。在其他情况下,帐户可能会被停用,但由于记录保存要求而无法删除。如果记录与 PK 相关联,那么您可以拥有一个具有相同用户名的新用户,而不会搞砸。
  • 我很抱歉让我这么痛苦,但 Guid 给了我很多错误。
  • @sass 没问题,你的数据库中 PK 的类型是什么。如果它是 int 你会有错误。 User表中ID的类型是什么。
猜你喜欢
  • 2020-03-30
  • 1970-01-01
  • 1970-01-01
  • 2014-10-06
  • 1970-01-01
  • 2014-06-23
  • 1970-01-01
  • 1970-01-01
  • 2016-09-03
相关资源
最近更新 更多