Membership UserId auslesen und an GridView / DetailView als Parameter übergeben

Hallo,

wenn man ASP.NET 2.0 nutzt und die dazugehörige Userverwaltung, kann man für seine eigene Tabellen mal die UserId gebrauchen. sie ist im SQL Server 2005 vom DatenTyp uniqueidentifier.

Bekommt tut man diese über folgende CodeZeilen:

// userdaten holen
MembershipUser myObject = Membership.GetUser ( );
 
// userid extrahieren (ist aber vom Typ System.Guid)
string tmpUserID = myObject.ProviderUserKey.ToString ( );

Um diese nun als zusätzlichen Parameter in einem Grid- / DetailsView zu übergeben. muss man nun folgende Ereignisse bearbeiten:

GridView (beim update):

protected void gvNews_RowUpdating ( object sender, GridViewUpdateEventArgs e ) {
        // userdaten holen
        MembershipUser myObject = Membership.GetUser ( );
 
        // userid extrahieren (ist aber vom Typ System.Guid)
        string tmpUserID = myObject.ProviderUserKey.ToString ( );
 
        // als parameter hinzufügen
        e.NewValues.Add ( "username", tmpUserID );
    }

DetailsView (insert)

protected void dvAddNews_ItemInserting ( object sender, DetailsViewInsertEventArgs e ) {
 
        // userdaten holen
        MembershipUser myObject = Membership.GetUser ( );
 
        // userid extrahieren (ist aber vom Typ System.Guid)
        string tmpUserID = myObject.ProviderUserKey.ToString ( );
 
        // als parameter hinzufügen
        e.Values.Add ( "username", tmpUserID );
    }

Wenn es noch einfacher geht, bitte melden 🙂

Related Posts:

[KnowHow] – System.Diagnostics.Stopwatch (Zeitmessung)

Fürs Archive 🙂

Sehr schön.

Sowas habe ich auch schonmal gesucht, dabei ist alles onBoard…

Mit dieser Klasse lassen sich Zeitmessungen von den eigenen Algorithmen messen.

System.Diagnostics.Stopwatch s = new System.Diagnostics.Stopwatch();
s.Start(); // Start Zeitlauf
// Algorithmus durchfuehren
....
s.Stop(); // Ende Zeitlauf
Console.WriteLine("Test1: {0}", s.ElapsedMilliseconds);  // Ausgabe der benoetigten Zeit fuer den Algorithmus

via Andreas Maiers

Related Posts:

[C#] – Vermeide if(bool == true)

Hier mal ein kleiner Beitrag, warum man

if(myBoolean == true) {
 // ...
}
 
// oder
if(myBoolean == false) {
 //...
}

nicht mehr verwenden sollte. 😉

Besser:

if(myBoolean) {
 // ...
}
 
// oder
if(!myBoolean) {
 //...
}

via NorbertEder

Related Posts:

[Stuff] – http://www.snippetcenter.org/

Thomas Bandt hat vor längerer Zeit sein SnippetCenter veröffentlicht. Zu finden sind da kleine Programmsnippets, die dem Programmierer das Leben erleichtern.

Es werden sehr viele Sprachen abgedeckt und man kann natürlich auch selbst Snippets posten.

http://www.snippetcenter.org/de/Default.aspx

Gruss

Related Posts:

Generische Datentypen<>

Was sind eigentlich generische Datentypen ?

Genrische Datentypen sind sozusagen ‘Variable Datentypen’. Man bestimmt den Typ (string, int, float, ArrayList, eigene Typen, usw …) erst beim erzeugen eines Objektes. Somit ist eine ArrayList zum Beispiel Typensicher.

Dies funktioniert wie folgt:

[csharp]
public partial class CBeispiel {

private param m_variable;

public param Variable {
set { this.m_variable = value; }
get { return(this.m_variable); }
}
}
[/csharp]

Continue reading Generische Datentypen<>

Related Posts:

public partial class {} – Quellcodeverteilung

Beispiel:
[csharp]
public partial class CBeispiel {

}
[/csharp]

Was ist partial ? um Himmels Willen ?

Keine Angst. Partial [dt.: teilweise, unvollständig]. Diese Wort zeigt dem Compiler, das diese Deklaration ein Teil von einer vorhanden Deklaration ist. Es wird eine Klasse in verschiedene Dateien aufgeteilt.

Beispiel -> Datei 1
[csharp]
public partial class CBeispiel {

//
public CBeispiel() {
this.myMethod();
}

}
[/csharp]

Beispiel -> Datei 2
[csharp]
public partial class CBeispiel {

// hier ereugen wir mal die Methode
private void myMethod() {
// .. Code Code Code
}

}
[/csharp]

Das Schlüsselwort partial kann vor Klassen, Strukturen und Schnittstellen stehen. Es ist ausserdem möglich, den Code in mehr als zwei Dateien aufzuteilen.

Related Posts: