#

 

 

Wie kann man die benutzerdefinierten Daten in Asp.Net von einem User abfragen in einer Ausgabe-View?

 

Problem:

Ich möchte in einer View in Asp.Net Core MVC die Daten eines Users anzeigen.

Die zusätzlichen Informationen habe ich direkt in die

 

 

Unter benutzerdefinierten Feldern in der Asp User Identity versteht man zusätzliche Spalten, welche man in die Tabelle AspNetUsers einer Asp.Net Anwendung mit Microsoft Identity eingefügt hat.

Man hat die Möglichkeit das bestehende Datenmodell der Microsoft Authentifizierung mit eigenen Spalten direkt in der Haupttabelle der User zu erweitern.

 

 

Wenn man Veränderungen oder Erweiterungen an der Tabelle AspNetUsers vornimmt, dann muss man diese in der Asp Anwendung in der Datei

ApplicationUser.cs

Eintragen

Hier die Erweiterung

public long IDUser { get; set; }

 

             

Abfragen der erweiterten Daten

Im ersten Schritt holt man sich die Guid des Users aus dem UserManger

Dann holt man sich mit UserManager.Users.First den Datensatz, welcher gleich der User-GUID ist.

Aus dem erlangten Datensatz kann man dann auf alle Daten der Tabelle aspNetUsers zugreifen PLUS zusätzlich auf die Eigenschaft der benutzerdefinierten Felder.

//< get UserGuid >

string sIDUserGuid = UserManager.GetUserId(User);

//</ get UserGuid >

//< get NumberID >

//*get the Long-64 increment Number in AspNetUsers IDUser Type bigInt

long lngIDUser = UserManager.Users.FirstOrDefault(u => u.Id == sIDUserGuid).IDUser;

//</ get NumberID >

 

 

 

 

Code-Beispiel in der View Seite mit Razor Syntax

@using Microsoft.AspNetCore.Identity

@using IWois_Core.Models

@using IWois_Core.Data

 

@inject SignInManager<ApplicationUser> SignInManager

@inject UserManager<ApplicationUser> UserManager

 

 

<div class="mynavdropdown" style="float: right;">

    <button class="mynavdropbtn">

        @{

            //--------< Get User-Defined Information >--------

            //< get UserGuid >

            string sIDUserGuid = UserManager.GetUserId(User);

            //</ get UserGuid >

 

            if (sIDUserGuid == null)

            {

                //----< Not logged in >----

                <span style="font-family:'Segoe MDL2 Assets';font-size:16px"></span>

                //----</ Not logged in >----

            }

            else

            {

                //----< Is Logged in >----

                //< get NumberID >

                //*get the Long-64 increment Number in AspNetUsers IDUser Type bigInt

                long lngIDUser = UserManager.Users.FirstOrDefault(u => u.Id == sIDUserGuid).IDUser;

                //</ get NumberID >

 

                //< show ProfilImage >

                string sImage = "/User_Files/User_Images/40/User_Image_" + lngIDUser + ".jpg";

                <img src="@sImage" />

                //</ show ProfilImage >

 

                @*<img src="~/User_Files/User_Images/40/User_Image_1.jpg"/>*@

                //----</ Is Logged in >----

            }

            //--------</ Get User-Defined Information >--------

        }

 

 

Video Tutorial:

https://www.youtube.com/watch?v=MogZV0gcD0c&feature=youtu.be

 

 

@using Microsoft.AspNetCore.Identity

@using IWois_Core.Models

@using IWois_Core.Data

 

@inject SignInManager<ApplicationUser> SignInManager

@inject UserManager<ApplicationUser> UserManager

 

 

<div class="mynavdropdown" style="float: right;">

    <button class="mynavdropbtn">

        @{

            //--------< Get User-Defined Information >--------

            //< get UserGuid >

            string sIDUserGuid = UserManager.GetUserId(User);

            //</ get UserGuid >

 

            if (sIDUserGuid == null)

            {

                //----< Not logged in >----

                <span style="font-family:'Segoe MDL2 Assets';font-size:16px"></span>

                //----</ Not logged in >----

            }

            else

            {

                //----< Is Logged in >----

                //< get NumberID >

                //*get the Long-64 increment Number in AspNetUsers IDUser Type bigInt

                long lngIDUser = UserManager.Users.FirstOrDefault(u => u.Id == sIDUserGuid).IDUser;

                //</ get NumberID >

 

                //< show ProfilImage >

                string sImage = "/User_Files/User_Images/40/User_Image_" + lngIDUser + ".jpg";

                <img src="@sImage" />

                //</ show ProfilImage >

 

                @*<img src="~/User_Files/User_Images/40/User_Image_1.jpg"/>*@

                //----</ Is Logged in >----

            }

            //--------</ Get User-Defined Information >--------

        }

        <i class="fa fa-caret-down"></i>

    </button>

    <div class="mynavdropdown-content">

        @if (SignInManager.IsSignedIn(User))

        {

            @*--------< User: Is Logged In >--------*@

            <form asp-area="" asp-controller="Account" asp-action="Logout" method="post" id="logoutForm">

 

                <a asp-area="" asp-controller="Manage" asp-action="Index" title="Manage"> <span style="font-family:'Segoe MDL2 Assets';font-size:16px"></span> @UserManager.GetUserName(User)</a>

                <button type="submit" class="btn btn-link navbar-btn navbar-link">Log out</button>

            </form>

            @*--------</ User: Is Logged In >--------*@

        }

        else

        {

            @*--------< User: NOT Logged In >--------*@

            <ul>

                <li><a asp-area="" asp-controller="Account" asp-action="Login">Log in</a></li>

                <li><a asp-area="" asp-controller="Account" asp-action="Register">Register</a></li>

            </ul>

            @*--------</ User: NOT Logged In >--------*@

        }

 

    </div>

</div>

 

 

 

 

 

Mobile

.

yesmovies