Achten Sie darauf:
Unten ist mein Code, der dasselbe Problem behebt, das Sie haben:
%Vor%Außerdem möchten Sie nicht, dass Responsese.Redirect auf eine .cshtml-Datei verweist. Stattdessen sollten Sie eine RedirectToAction zurückgeben und die Action- und Controller-Namen übergeben.
Ich hatte gerade das gleiche Problem ... Ich benutzte
%Vor%und oben erzeugtes Problem ..
Dann habe ich es versucht:
%Vor%und finde heraus, dass mir andere Pflichtfelder meiner Users-Tabelle (UserProfile) fehlten. Folgendes hat für mich funktioniert:
%Vor%Der Beitrag ist alt, aber hoffe, dass dies anderen helfen kann.
Ich habe gerade dieses Problem - aber durch Ihren Code könnte es nicht dasselbe sein. Ich habe versucht, den Mitgliedschaftsdatensatz zu erstellen, bevor ich den Datensatz in meiner eigenen Benutzertabelle erstellt habe. Es muss umgekehrt sein.
Ich würde also prüfen, ob Ihre INSERT INTO UserData
-Abfrage tatsächlich funktioniert.
In meinem Fall; Es war wegen der Kultur;
Der Mitgliedschaftsanbieter zum Erstellen eines Kontos mit der CreateUserAndAccount-Funktion erstellen Sie zuerst einen Benutzer. Es ist in Ordnung, und der Benutzer hat erfolgreich zur Datenbank hinzugefügt. Aber um ein Konto zu erstellen, führt es die folgende Abfrage aus, um Benutzer-ID zu erhalten, um ein neues Konto dafür zu erstellen:
%Vor%Hier ist die Ausnahme, die geworfen wird, weil die Buchstaben in manchen Kulturbuchstaben unterschiedlich sind, zum Beispiel auf türkisch, der Großbuchstabe für "i" ist "İ".
Ich weiß nicht, wie ich dieses Problem in diesem Moment lösen soll, und ich werde versuchen, es zu lernen.
In meinem Fall habe ich einen Benutzer namens "admin" und "exception throw" erstellt. Ich ändere den Benutzernamen in "Mesut" Und es läuft erfolgreich.
Bitte stellen Sie sicher, wenn Sie eine kulturspezifische Buchstaben im Feld userName haben. (oder E-Mail in Ihrem Fall), (sobald ich gefunden habe, wie es gelöst wird, werde ich es hier posten)