【问题标题】:Convert Session to Guid将会话转换为指导
【发布时间】:2011-06-28 18:08:50
【问题描述】:

我正在为网站 CMS 构建用户管理部分。

用户有一个用户列表,然后单击编辑按钮,系统然后将 UserId 存储在会话中并转到显示用户详细信息的 editUser.aspx 页面。

要获取用户详细信息,我需要将 UserId 会话转换为 Guid,以便获取用户详细信息。

我不断收到错误消息:

System.InvalidCastException:指定的强制转换无效。

Dim selectedUserId As Guid = CType(Session("strUserId"), Guid)
Dim mu As MembershipUser = Membership.GetUser(selectedUserId)

有谁知道这是否可行?

提前致谢。

【问题讨论】:

    标签: .net asp.net vb.net session asp.net-membership


    【解决方案1】:

    请改用Guid.Parse()。您正在存储一个字符串,因此必须从字符串转换回 Guid。

    【讨论】:

    • Tuiper:GuidParse 是什么?你会更具体吗?
    • 我不太了解,但这是我发现的...msdn.microsoft.com/en-us/library/system.guid.parse.aspx
    • @Just Sung - Guid.Parse("123-12345-121213...") 会从字符串返回 Guid,就像 int.Parse("77") 返回一个 int,只是因为 DateTime.Parse("2011-06-28") 返回一个新的日期时间对象。 “123-12345-...”不是 guid,它是一个 guid 的字符串表示形式。我们需要在此处获取该字符串并返回到 Guid 对象。
    【解决方案2】:

    strUserId 是 GUID 值还是用户名?

    如果它是 GUID 值,则不能强制转换,但可以使用 new GUID(strUserId) 创建新的 GUID 对象。

    如果是用户名,你的最后一行 mu = Membership.GetUser(strUserId) 应该可以在没有演员表的情况下工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-16
      • 2012-01-16
      • 2020-08-10
      • 2020-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      相关资源
      最近更新 更多