无法从Web.Config读取值

时间:2015-02-15 17:04:11

标签: c# asp.net web recaptcha

我试图在登录页面上实施重新计算。 但每次遇到代码时,都会发生空引用异常。 我使用asp.net和默认的登录模板,它有自己的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>

1 个答案:

答案 0 :(得分:0)

尝试这个,它适用于我的代码:

using System.Web.Configuration;

/* ... */

WebConfigurationManager.AppSettings["reCAPTCHAPublicKey"];

您需要确保在asp.net项目的后端某处打开Web配置。有关信息,请参阅MSDN文章: https://msdn.microsoft.com/en-us/library/610xe886%28v=vs.140%29.aspx

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