C# string boolean in Asp.net?

Lordwurst

Ensign
Registriert
Okt. 2008
Beiträge
181
Moin,
ich habe ein kleines problem und eine frage. Ich habe eine webseite auf der ich normale benutzer und admins habe. nun will ich aber das die admins mehr optionen haben als die benutzer und benutze die visual=false function. Wenn nun ein admin angemeldet ist sollte der diese functionen sehen. ich habe es schon mal gemacht mit der access control die mit visual studios und asp.net kommt sprich:

Code:
public partial class Menu : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (User.Identity.IsAuthenticated == false)
        {
            Server.Transfer("Login.aspx");
        }
        else
        {
            if (System.Web.Security.Roles.IsUserInRole("admin") == true)
            {
                adduser.Visible = true;
            }
            else
            {
                adduser.Visible = false;
            }
            reperaturliste.Visible = true;
            if (System.Web.Security.Roles.IsUserInRole("user") != true && System.Web.Security.Roles.IsUserInRole("admin") != true)
            {
                reperaturliste.Visible = false;
            }
        }
    }
}
Nur habe ich ein problem das ich in diesem project diese function nicht benutze. Nun wollte ich fagen ich habe ein label das anzeigt welcher user online is, kann ich irgendwie ein if statement oder ein boolean mit einem string machen? und wenn ja wie geht das?
Die seite ich ich zur zeit habe sieht so aus:
Code:
public partial class Secure : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["New"] != null)
        {
            welc.Text = "";
            welc.Text = "Welcome...";
            welc.Text += Session["New"].ToString();
    

            statusconnectinglabel.Text = "Connecting &nbsp;- " + DateTime.Now + " <br/>";
            var repoPath = Path.GetFullPath(pathRemote);
            var repo = new Repository(repoPath);

            DiffCommand diff = new DiffCommand().WithRevisions(RevSpec.All).WithUseGitDiffFormat();
            repo.Execute(diff);
            string output = diff.RawStandardOutput;

            statusconnectedlabel.Text = "Connected &nbsp; - " + DateTime.Now + "<br/>";

            outputlabel.Text = output;
        }
        else
        {
            Response.Redirect("Login.aspx");
        }
    }
was ich nun gerne machen würde wäre von dem welc.Text ein boolean machen ob der benutzer admin ist oder nicht.
Kann mir da einer weiter helfen?

vielen dank an alle
Ergänzung ()

OK sorry für diesen Post, habe es hin bekommen. war ganz leicht. Hier ist wie ich es gemacht haben für die es wissen wollen.
Code:
if (Session["New"] != null)
        {
            welc.Text = "";
            welc.Text = "Welcome...";
            welc.Text += Session["New"].ToString();
            string test = Session["New"].ToString();
            if(test == "admin"){
                Addusers.Visible = true;
            }
            else{
                Addusers.Visible = false;
            }
        else
        {
            Response.Redirect("Login.aspx");
        }
    }
 
HiHo Freut mich, dass du es hinbekommen hast!
Noch ein Tipp ohne jetzt alles zu lesen:
Du Kannst dir mal den Fragezeichen Operator ansehen:
http://www.tutorials.at/c/07-ternaerer-operator-switch.html

Damit würde aus :

if(test == "admin"){
Addusers.Visible = true;
}
else{
Addusers.Visible = false;
}

==>

Addusers.Visible = test == "admin"? true: false;

oder noch kürzer da das Ziel ein bool ist
==> Addusers.Visible = (test == "admin"); // Klammern können weg...glaube ich

Wieterhin viel Glück und erfolg!
 
Oder einfach nur

Code:
adduser.Visible = System.Web.Security.Roles.IsUserInRole("admin");


edit:

Beziehe mich auf code #1 von oben.
 
Zuletzt bearbeitet:
Zurück
Oben