2014-09-04 43 views
2

我在此頁面上顯示了此loginview。如何從後面的代碼切換角色組?從代碼後面更改LoginView角色組模板(解決多視圖)

說......我目前在父親登錄查看模板,我想改變管理員登錄查看模板

<asp:LoginView ID="LoginView1" runat="server"> 
    <RoleGroups> 
    <asp:RoleGroup Roles="Admin"> 
     <ContentTemplate> 
      I Am Admin  
     </ContentTemplate> 
    </asp:RoleGroup> 
    <asp:RoleGroup Roles="GirlUser"> 
     <ContentTemplate> 
      I Am A Girl 
     </ContentTemplate> 
    </asp:RoleGroup> 
    <asp:RoleGroup Roles="BoyUser"> 
     <ContentTemplate> 
      I Am A Boy 
     </ContentTemplate> 
    </asp:RoleGroup> 
    <asp:RoleGroup Roles="DadUser"> 
     <ContentTemplate> 
      I Am A Dad 
     </ContentTemplate> 
    </asp:RoleGroup> 
    </RoleGroups> 
    </asp:LoginView> 
+0

如果您想顯示不同的模板,它將根據當前內置的用戶顯示適當的模板,然後需要將您看作另一個用戶。如果您想以「Admin」用戶身份登錄時顯示「DadUser」模板的內容,那麼您使用的是錯誤的控件。 – 2014-09-04 11:39:53

+0

這是一篇非常有用的文章,您可以參考[基於角色的授權](http://www.asp.net/web-forms/tutorials/security/roles/role-based-authorization-cs) – Izzy 2014-09-04 11:43:07

+0

I' m不使用asp.net成員身份登錄機制中的構建。你有什麼建議。我正在構建一個使用我自己的身份驗證系統的asp.net Web應用程序。我試圖創建一個基於角色出現不同的網頁,爲每個角色使用多個頁面不是一個解決方案。你認爲我應該使用什麼樣的控制?一旦登錄,該角色將在會話[「角色」]中設置。 – 2014-09-04 11:44:58

回答

0
<form id="form1" runat="server"> 
<div> 
    <asp:MultiView ID="MultiView1" runat="server"> 
     <asp:View ID="AdminView" runat="server"> 
     I Am Admin 
     </asp:View> 
     <asp:View ID="GirlView" runat="server"> 
     I Am A Girl 
     </asp:View> 
     <asp:View ID="BoyView" runat="server"> 
     I Am A Boy 
     </asp:View> 
     <asp:View ID="DadView" runat="server"> 
     I Am A Dad 
     </asp:View> 
    </asp:MultiView> 
</div> 
</form> 

我安定下來這些。改變從父親到後臺管理代碼的視圖

public void changeView(int index) 
    { 
     MultiView1.ActiveViewIndex = index; 
    } 

其中0 =管理員和3 =父親。

不確定其最佳解決方案。隨時分享任何改進意見。