Ich versuche, Benutzerprofile basierend auf URL zu erstellen. Ich weiß, wie paramaters von URL wie www.domain.com/profile?id=username bekommen, aber ich würde es gerne SEO freundlich und stattdessen erhalten Wert von URL-Format: www.domain.com/profile/usernameASP.NET MVC Razor, generieren Profil mit URL/Profil/{Benutzername}
Ich benutze MVC Razor von Visual Studio 2017 und entblößt MSSQL-Datenbank, stattdessen implementiert MySQL mit einer Benutzertabelle.
Meine Gedanken, wie es funktionieren sollte. Benutzer Besuche Webseite www.domain.com/profile/user235
die Server lädt die Steuerung und bekommt den Eingang „user235“
sendet die Steuerung die Eingabe an die .cshtml Seite und der Seite .cshtml Führt Abfrage an die MySQL-Datenbank aus, um das Benutzerdatenarray zu erhalten und die Seite mit den Daten zu füllen.
Sind meine Gedanken richtig? Irgendwelche Ratschläge oder Vorschläge, wie ich damit umgehen soll?
EDIT: Fand die Lösung bei: https://docs.microsoft.com/en-us/aspnet/web-pages/overview/routing/creating-readable-urls-in-aspnet-web-pages-sites
@UrlData [0] .ToString()
Dieser beliebigen Wert erhalten wird nach/in Rasierapparat Seiten Beispiel: profile.cshtml hat Zeichenfolge username = @UrlData [0] .ToString()
www.domain.com/profile/John
@UrlData [0] .ToString() = "John"
Wenn Sie so etwas wie www.domain.com/profile/John/blog43
String username = @UrlData [0] .ToString() String blogid = @UrlData [1] .ToString()
Und mit diesen Informationen können Sie die Datenbank abfragen, um Informationen zu erhalten ... Stellen Sie sicher, den Benutzernamen und Blog-Eingabe für jede Art von SQL-Injektionen zu validieren.
Vielen Dank für Ihre Antwort, ich bin mir nicht sicher, welche MVC Version ich benutze, aber ich bin nicht in der Lage Controller nur eine Web API Controller Class (v2.1) hinzuzufügen. Wenn Sie Ihren Code verwenden, erkennt er ihn nicht. –
Was Sie meinen, Sie können einen Controller nicht hinzufügen? Wenn Sie Visual Studio verwenden, können Sie mit der rechten Maustaste klicken und eine neue Klasse hinzufügen. Was hält dich auf ? – Shyju
Ich bin neu in ASP.NET und wählte die Standard MVC Razor Vorlage, es gibt keinen Controller Ordner und lässt mich keinen Controller hinzufügen. Ich kann .cs Klassen in App_Code Gedanken hinzufügen. aber wird es es als Controller erkennen und laden? –