2015-02-15 8 views
0

Я пытаюсь выполнить recaptcha на странице входа. Но каждый раз, когда он попадает в код, происходит исключение нулевой ссылки. Я использую asp.net с шаблоном входа по умолчанию, у него есть свой собственный Web.Config (не знаю почему)Невозможно прочитать значение из Web.Config

Есть ли настройка, которая должна быть выполнена? Ниже приведены мои коды. Надеемся, ответить скоро.

ASPX файл

<%@ Page Title="Log In" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"CodeBehind="Login.aspx.cs" Inherits="Penerangan.Emedia2u.Web.Account.Login" %> 
<%@ Register TagPrefix="recaptcha" Namespace="Recaptcha" Assembly="Recaptcha" %> 

<asp:Label Visible="false" ID="lblResult" runat="server" /> 
        <recaptcha:RecaptchaControl ID="recaptcha" runat="server" /> 

.cs файл

recaptcha.PublicKey = System.Configuration.ConfigurationManager.AppSettings["reCAPTCHAPublicKey"].ToString(); 
       recaptcha.PrivateKey = System.Configuration.ConfigurationManager.AppSettings["reCAPTCHAPrivateKey"].ToString(); 

файл web.config

<appSettings> 
    <add key="reCAPTCHAPublicKey" value="fromgooglecaptchakey"/> 
    <add key="reCAPTCHAPrivateKey" value="fromgooglecaptchakey"/> 
    </appSettings> 
+0

'<добавить ключ = "reCAPTCHAPrivateKey" значение = "значение =" fromgooglecaptchakey "/>"/>' является то, что опечатка? – haim770

+0

печально это была опечатка; отредактирован, вопрос по-прежнему остается – someguy

+0

У меня есть догадка, что app.config - это другой путь кода, чем web.config. Вам понадобятся ссылки System.Web.Configuration для web.config. – Shamster

ответ

0

Попробуйте это, он работает на мой код:

using System.Web.Configuration; 

/* ... */ 

WebConfigurationManager.AppSettings["reCAPTCHAPublicKey"]; 

необходимо убедиться, что веб-конфиг открыт где-то на сервере вашего проекта asp.net. Смотрите статью MSDN для информации: https://msdn.microsoft.com/en-us/library/610xe886%28v=vs.140%29.aspx

System.Configuration.Configuration rootWebConfig1 = 
       System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null); 
+0

все тот же:/ попробовал что-то подобное, все тот же результат 1. WebConfigurationManager.AppSettings ["reCAPTCHAPublicKey"]. ToString(); 2. WebConfigurationManager.AppSettings ["reCAPTCHAPublicKey"] – someguy

+0

Проверить структуру web.config? Должно быть ... Shamster

Смежные вопросы