运行代码时报错

liangjinzhe 2010-03-02 01:56:27
Default.aspx.cs文件
using System;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Configuration;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
string connectionString = System.Configuration.ConfigurationSettings.AppSettings["MyConnectionString"];

SqlConnection con = new SqlConnection(connectionString);
try
{
con.Open();
Label2.Text = " <b>Server Version: </b>" + con.ServerVersion;
Label2.Text = " <br /> <b>Connection Is: </b> " + con.State.ToString();

}
catch (Exception err)
{
Label2.Text = "Error reading the database. " + err.Message;
}
finally
{
con.Close();
Label2.Text +=" <br /> <b>Now Connection Is: </b> " +
con.State.ToString();
}
}
}

Web.config文件
<?xml version="1.0"?>

<configuration>
<appSettings/>
<system.web>

<compilation debug="true"/>

<authentication mode="Windows"/>

</system.web>
<connectionStrings>
<add name="MyConnectionString" connectionString="Data Source=localhost;Initial Catalog=dbname;user id=admin;password=admin"/>
</connectionStrings>
</configuration>

上面 string connectionString = System.Configuration.ConfigurationSettings.AppSettings["MyConnectionString"]; 这一段改成下面这一段的话
string connectionString =
WebConfigurationManager.ConnectionStrings["MyConnectionString "].ConnectionString;

就会提示1.当前上下文中不存在名称"WebConfigurationManager"
但using System.Configuration; 这不是已经引用了命名空间了么? 为什么还提示1.当前上下文中不存在名称"WebConfigurationManager"

还有当我运行上面这些代码的时候提示Error reading the database. ConnectionString 属性尚未初始化。
在 string connectionString = System.Configuration.ConfigurationSettings.AppSettings["MyConnectionString"]; 这个上面填写string connectionString; 的话 显示 已在此范围定义了名为"connectionString"的局部变量
...全文
102 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
暖枫无敌 2010-03-02
  • 打赏
  • 举报
回复
按照我的方法,将你代码中:string connectionString = System.Configuration.ConfigurationSettings.AppSettings["MyConnectionString"];
换成如下:
string connectionString = System.Configuration.ConfigurationManager.AppSettings["MyConnectionString"];
liangjinzhe 2010-03-02
  • 打赏
  • 举报
回复
运行上面代码时提示System.NullReferenceException: 未将对象引用设置到对象的实例。

string connectionString = 这一段

加上 String connectionString; 这一段的话又提示已经存在。
liangjinzhe 2010-03-02
  • 打赏
  • 举报
回复
现在重新运行,提示System.NullReferenceException: 未将对象引用设置到对象的实例。

string connectionString = 这一段
jeremyxuzz 2010-03-02
  • 打赏
  • 举报
回复
WebConfigurationManager
是System.Web.Configuration命名空间下的。
王者coco 2010-03-02
  • 打赏
  • 举报
回复
引用 4 楼 taomanman 的回复:
string connectionString = System.Configuration.ConfigurationSettings.AppSettings["MyConnectionString"];

<?xml version="1.0"?>

<configuration>
<appSettings/>
<system.web>

<compilation debug="true"/>

<authentication mode="Windows"/>

</system.web>
<connectionStrings>
<add name="MyConnectionString" connectionString="Data Source=localhost;Initial Catalog=dbname;user id=admin;password=admin"/>
</connectionStrings>
</configuration>

中红色部分改成添加到
<appSettings>
    <add name="MyConnectionString" connectionString="Data Source=localhost;Initial Catalog=dbname;user id=admin;password=admin"/> 
</appSettings>
<connectionStrings/>


System.Configuration.ConfigurationSettings.AppSettings[]你这里用的AppSettings,在web.config文件里面就用<appSettings>这个节点.
ConfigurationManager.ConnectionStrings[]这里用ConnectionStrings,在web.config文件里面就用<connectionStrings>节点
暖枫无敌 2010-03-02
  • 打赏
  • 举报
回复
string connectionString = System.Configuration.ConfigurationSettings.AppSettings["MyConnectionString"];

<?xml version="1.0"?>

<configuration>
<appSettings/>
<system.web>

<compilation debug="true"/>

<authentication mode="Windows"/>

</system.web>
<connectionStrings>
<add name="MyConnectionString" connectionString="Data Source=localhost;Initial Catalog=dbname;user id=admin;password=admin"/>
</connectionStrings>
</configuration>

中红色部分改成添加到
<appSettings>
<add name="MyConnectionString" connectionString="Data Source=localhost;Initial Catalog=dbname;user id=admin;password=admin"/>
</appSettings>
<connectionStrings/>





love5207070 2010-03-02
  • 打赏
  • 举报
回复
你写的太麻烦了,你为什么不直接引用命名空间呢
liangjinzhe 2010-03-02
  • 打赏
  • 举报
回复
WebConfigurationManager 添加哪个dll的引用啊? 怎么引用?本人初次学习asp.net,不是很明白,请多指教啊
jingshuaizhjason 2010-03-02
  • 打赏
  • 举报
回复
WebConfigurationManager 你添加那个dll的引用了么

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧