如何使用查询字符串将UserID或UserName传递到asp.net成员功能中的另一个页面

本文关键字:功能 成员 net asp 另一个 字符串 查询 何使用 UserID UserName | 更新日期: 2023-09-27 18:26:12

我在项目中使用了asp.net成员身份功能。我在"manage-users.aspx"中的代码是;

<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='<%# "manage-user-detail.aspx?UserID=" %>' ID="linkNavigate" Text="View Detail" />
             </ItemTemplate>
         </asp:TemplateField>
    </Columns>
</asp:GridView>

我为这个网格视图编写的代码是这样的;

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

现在,我的问题是"如何将所选用户ID传递到另一个页面,即使用此"项目模板"中的querystring(在NavigateUrl属性中)管理用户详细信息.aspx页面

<asp:TemplateField>                          
 <ItemTemplate>
   <asp:HyperLink runat="server" NavigateUrl='<%# "manage-user-detail.aspx?UserID=" %>'   ID="linkNavigate" Text="View Detail" />
 </ItemTemplate>
</asp:TemplateField>

以及"我如何在‘manageuserdetail.aspx’页面的fromview中显示用户详细信息(先捕获querystring,然后再捕获)并显示结果。任何帮助都是值得感激的。

如何使用查询字符串将UserID或UserName传递到asp.net成员功能中的另一个页面

试试这个:

NavigateUrl='<%# string.Format("manage-user-detail.aspx?UserID={0}",Eval("UserID")) %>' 

您可以通过以下方式访问用户名:

HttpContext.Current.User.Identity.Name

更新
如果您想要特定用户的数据,则需要通过用户名检索MembershipUser实例

var userName = "someUserName";
var membershipUser = System.Web.Security.Membership.GetUser(userName);

以下是关于MembershipUser类的可用信息:
http://msdn.microsoft.com/en-us/library/system.web.security.membershipuser.aspx