"global" enum
3 svar · 244 visningar · startad av Jon
Lägg din enum i en applikationsvariabel.
Skapa en ny fil som du döper till Enumerators.cs
I den filen så slänger du bort klassdefinitionen och har endast kvar namespacet.
Där i skapar du sedan dina Enums som public, och du kan nu nå dem inom ditt namespace.
[edit]
Den försvinner dock mellan olika sid anrop om du menade att den skulle finnas kvar genom hela siten.
för att lösa det så lägger du den i en applikationsvariable som berättats tidigare
Mitt sätt gör bara att den finns tillgänglig i Intellisens för din Applikation
[/enum]
- M
Aha! Där har man lärt sig något nytt.
Jag löste det nästen på dett sätt du beskriver fast jag bygde in lite mer i det hela oxå. Blev väldigt nöjd med resultatet. Det blev nämligen samtidigt min säkerhetsfunktionalitet.
Jag gjorde enligt följande om någon undrar nån gång: :)
Definiera en klass som skall innehålla basfunktionalitet för applikationen:
using System;
namespace blaj
{
/// <summary>
/// Summary description for almighty.
/// </summary>
public class almighty : System.Web.UI.Page
{
public enum AccessLevel {
Adminsitrator=1,
Technician=2,
Superuser=3,
User=4
};
private int _SequrityLevel;
public void VerifyUser()
{
if(Int16.Parse(Session["UsrTypeId"].ToString()) > this._SequrityLevel)
Response.Redirect("denied.aspx");
}
public int SequrityLevel
{
get
{
return _SequrityLevel;
}
set
{
_SequrityLevel=value;
}
}
}
}
Ärv sedan sidorna från den klassen:
using ...
namespace blaj
{
/// <summary>
/// Summary description for test.
/// </summary>
public class tasks : almighty
{
private void Page_Load(object sender, System.EventArgs e)
{
this.SequrityLevel = AccessLevel.Adminsitrator;
VerifyUser();
}
}
}
Det är så lätt att glömma att asp.net går att programmera på riktigt! :stud