Vra

ek wil sekere dele van 'n aansig wys/versteek op grond van stawingstatus of rolle.Vir my beheerderaksies het ek ActionFilterAttribute uitgebrei sodat ek sekere aksies kan toeskryf.

<RequiresRole(Role:="Admin")> _
Function Action() as ActionResult
    Return View()
End Function

is daar 'n soortgelyk manier (toeskryf) wat ek in die aansigte kan gebruik?(dus nie so nie: Hoe kan ek 'n aansig skep wat verskillende vertonings het volgens die rol waarin die gebruiker is?)

Was dit nuttig?

Oplossing

Jy kan toegang tot die gebruiker se aangemelde rolle kry vanaf die aansig soos volg:

<% if (Page.User.IsInRole("Admin")) { %>
        <td>
          <%= Html.DeleteButton("delete", model.ID) %>
        </td>
<% } %>

en miskien jou uitbreidingsmetode met iets soos:

public static string DeleteButton(this HtmlHelper html, 
    string linkText, int id)
{
    return html.RouteLink(linkText,
     new { ID = id, action = "Delete" },
     new { onclick = "$.delete(this.href, deleteCompleted()); return false;" });
}

Dit is duidelik dat ek JavaScript gebruik om 'n HTTP DELETE na my beheerder-aksie uit te voer, om te verhoed dat bladsykruipers per ongeluk data uitvee om my bladsye te kry.In my geval brei ek JQuery uit met 'n delete() metode om die HTTP-werkwoord aan te vul.

Ander wenke

Ek het nuut dat dit bestaan ​​het, maar het 'n rukkie geneem om te vind.Hier is wat ek gebruik:

<asp:LoginView runat="server">
    <AnonymousTemplate>
        You are not logged in yet. Please log in.
    </AnonymousTemplate>
    <RoleGroups>
        <asp:RoleGroup Roles="Admin">
            <ContentTemplate>
                You are an Admin.
            </ContentTemplate>
        </asp:RoleGroup>
        <asp:RoleGroup Roles="Customers">
            <ContentTemplate>
                You are a customer.
            </ContentTemplate>
        </asp:RoleGroup>
    </RoleGroups>
    <LoggedInTemplate>
        Simple Log in check
    </LoggedInTemplate>
</asp:LoginView>

Dit laat jou toe om verskillende inhoud aan verskillende gebruikers te wys op grond van hul aanmeldstatus of geloofsbriewe.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top