Ti ho costruito un piccolo esempio in C#
document.aspx
codice:
<form id="form1" runat="server">
<div>
<asp:Login ID="Login1" runat="server" BackColor="#EFF3FB" BorderColor="#B5C7DE"
BorderPadding="4" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana"
Font-Size="0.8em" ForeColor="#333333">
<TextBoxStyle Font-Size="0.8em" />
<LoginButtonStyle BackColor="White" BorderColor="#507CD1" BorderStyle="Solid"
BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284E98" />
<InstructionTextStyle Font-Italic="True" ForeColor="Black" />
<TitleTextStyle BackColor="#507CD1" Font-Bold="True" Font-Size="0.9em"
ForeColor="White" />
</asp:Login>
<asp:LoginStatus ID="LoginStatus1" runat="server" />
<asp:Panel ID="PanelMenu" Visible="false" runat="server">
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>Pasta e fagioli</asp:ListItem>
<asp:ListItem>Lasagne</asp:ListItem>
<asp:ListItem>Gocchi alla sorrentina</asp:ListItem>
</asp:DropDownList>
</asp:Panel>
</div>
</form>
document.aspx.cs
codice:
namespace myApp
{
public partial class WebForm3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (User.IsInRole("cliente")) PanelMenu.Visible = true;// nel tuo esempio ci vanno le query sul db
}
}
}
Quando inserisci nome utente e psw il documento efettua un postback e quindi puoi effetturare un controllo sul ruolo all'interno del pageLoad come ti ho mostrato nell'esempio.