为什么此代码不输出任何要标记的内容

本文关键字:任何 代码 输出 为什么 | 更新日期: 2023-09-27 18:26:13

<asp:GridView runat="server" ID="gridUserAccounts" SkinID="gridviewSkin" PageSize="5">
    <Columns>
        <asp:BoundField HeaderText="User Name" DataField="UserName" />
        <asp:BoundField HeaderText="Email" SortExpression="Email" DataField="Email" />
        <asp:BoundField HeaderText="Last Login Date" SortExpression="LastLoginDate" DataField="LastLoginDate" />
        <asp:BoundField HeaderText="Last Activity Date" SortExpression="LastActivityDate" DataField="LastActivityDate" />
      <asp:TemplateField>
        <ItemTemplate>
          <asp:HyperLink runat="server" NavigateUrl='<%# string.Format("manage-user-detail.aspx?UserName={0}", Eval("UserName")) %>' ID="linkNavigate" Text="View Detail" />
        </ItemTemplate>
      </asp:TemplateField>
    </Columns>
</asp:GridView>

为此隐藏的代码是

if (!Page.IsPostBack)
{
    gridUserAccounts.DataSource = Membership.GetAllUsers();
    gridUserAccounts.DataBind();
}

现在,在"管理用户详细信息.aspx"页面上,我正在捕获查询字符串,但它不像这样工作

if (!IsPostBack)
{
    string userKey1 = Request.QueryString["UserName"];
    Guid UserID = new Guid(Membership.GetUser(userKey1).ProviderUserKey.ToString());
    //Guid userKey = new Guid(userKey1);
    MembershipUser mu = Membership.GetUser(UserID);
    //string userName = mu.UserName;
    lblKey.Text = mu.UserName;
}

标签中未显示任何内容。为什么?

为什么此代码不输出任何要标记的内容

我用以下代码解决了这个问题

 string userName = Membership.GetUser(Request.QueryString["UserName"].ToString()).UserName;
 statusLabel.Text = userName;

根据我的经验,获取查询字符串的唯一方法是这样的:

Request.QueryString.Item("UserName");

我看到在您的代码中您遗漏了项目。

相关文章: