簡體   English   中英

ASP.NET成員資格 - 需要向管理屏幕添加自定義字段

[英]ASP.NET Membership - Need to add custom fields to admin screens

我需要添加與登錄相關聯的公司名稱字段。 稍后我需要將其合並到我現有的管理屏幕中進行報告。

我無法弄清楚如何完成這項工作。 我已經嘗試向Membership表添加一列並修改存儲過程,但該列不會顯示。

這是我需要修改的管理頁面的代碼。

<%@ Page Language="C#" MasterPageFile="~/admin.master" %>
<%@ Register TagPrefix="dc" TagName="alphalinks" Src="~/alphalinks.ascx" %>

<script runat="server">
    private void Page_PreRender()
    {
        if (Alphalinks.Letter == "All")
        {
            Users.DataSource = Membership.GetAllUsers();
        }
        else
        {
            Users.DataSource = Membership.FindUsersByName(Alphalinks.Letter + "%");

        }
        Users.DataBind();
    }


</script>

<asp:Content ID="Content1" ContentPlaceHolderID="c" Runat="Server">

<!-- #include file="_nav.aspx -->

<table class="webparts">
<tr>
    <th>Users by Name</th>
</tr>
<tr>
<td class="details" valign="top">

<!-- #include file="_nav3.aspx -->


User Name filter:&nbsp;&nbsp;&nbsp;
<dc:alphalinks runat="server" ID="Alphalinks" />

<br />
    <br />

<asp:GridView runat="server" ID="Users" AutoGenerateColumns="false"
    CssClass="list" AlternatingRowStyle-CssClass="odd" GridLines="none"
    >
<Columns>
    <asp:TemplateField>
        <HeaderTemplate>User Name</HeaderTemplate>
        <ItemTemplate>
        <a href="edit_user.aspx?username=<%# Eval("UserName") %>"><%# Eval("UserName") %></a>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:BoundField DataField="email" HeaderText="Email" />

    <asp:BoundField DataField="comment" HeaderText="Comments" />
    <asp:BoundField DataField="creationdate" HeaderText="Creation Date" />
    <asp:BoundField DataField="lastlogindate" HeaderText="Last Login Date" />
    <asp:BoundField DataField="lastactivitydate" HeaderText="Last Activity Date" />
    <asp:BoundField DataField="isapproved" HeaderText="Is Active" />
    <asp:BoundField DataField="isonline" HeaderText="Is Online" />
    <asp:BoundField DataField="islockedout" HeaderText="Is Locked Out" />
</Columns>
</asp:GridView>

</td>

</tr></table>


</asp:Content>

我很感謝你的幫助。

謝謝,

史蒂夫

編輯:不要修改存儲過程或使用成員資格提供程序創建的表。 這是在惹麻煩。 您需要做的是添加一個Profile Provider,它擴展了標准用戶信息。

原文答案:閱讀Scott Guthrie撰寫的這篇文章: http//weblogs.asp.net/scottgu/archive/2006/01/10/435038.aspx這是關於Table Profile Provider,它比開箱即用的。

這個也是: http//weblogs.asp.net/scottgu/archive/2005/10/18/427754.aspx

史蒂夫,你返回一個自定義MembershipUser ,你已經用適當的值構造,從定制MembershipProvider ,將需要在為了做到這一點得以實施?

如果沒有,那么你需要這樣做

如果是這樣,您將需要從成員資格中轉換結果,因為它的返回類型是股票成員資格用戶,即使您要返回派生類型。

一些事情......

Users.DataSource = Membership.GetAllUsers().Cast<MyMembershipUser>();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM