Ich implementiere das Steuerelement recaptcha von Google.
Ich habe aus ihrem Beispiel und allen Arbeiten ein einfaches c # -Testprojekt erstellt. Anstatt PublicKey und PrivateKey auf der ASPX-Seite zu haben, würde ich diese Werte lieber zur Laufzeit zuweisen, da sie höchstwahrscheinlich entweder aus web.config oder aus einer Datenbanktabelle abgerufen werden.
Ich habe Folgendes in Page_Load
versucht %Vor%, aber ich bekomme eine Fehlermeldung, dass "reCAPTCHA mit einem öffentlichen & amp; privaten Schlüssel konfiguriert werden muss."
Ich habe auch versucht, die Oninit-Methode der Seite zu überschreiben und die Werte dort zuzuordnen, aber keine Freude.
Irgendwelche Ideen, wohin das gehen soll?
Verwenden Sie den Wert von setincodebehind
in Ihrem Tag wie folgt:
Damit sollten Sie die Schlüssel im Codebehind richtig setzen. Es gibt ein paar andere Möglichkeiten, es auch zu tun. Zum Beispiel können Sie die Werte von einer statischen Klasse wie folgt erhalten:
%Vor% Wo RecaptchaSettings
ist eine Klasse, die Sie bereitstellen. Oder Sie könnten die Schlüssel in einen appSettings
-Abteil Ihrer web.config-Datei einfügen und so auf sie zugreifen:
Ich hoffe, das hilft.
Eine weitere Möglichkeit, Schlüsselwerte festzulegen, verwenden Sie <appSettings>
keys RecaptchaPublicKey
und RecaptchaPrivateKey
. Diese Werte werden automatisch verwendet, es sei denn, sie werden während der Steuerelementdeklaration überschrieben ( mjd79's Antwort , erster Weg).
Pro : Wenn Sie mehrere Deklarationen haben, müssen Sie die Schlüssel nur an einem Ort aufbewahren, DRY-Prinzip.
Dieses Verhalten kann über den Quellcode gesehen werden, RecaptchaControl.cs, Zeile 135 -... :
%Vor%