对象引用未设置为ASP中对象的实例.NET



我正在Asp.net和C#中开发一个学校管理系统。我已经创建了一个登录页面,当我点击登录时,出现了一个错误对象引用未设置为对象的实例。

描述:在执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误以及错误在代码中的来源的更多信息。

异常详细信息:系统。NullReferenceException:对象引用未设置为对象的实例。来源错误:

public string connectionString()
{
string connString = ConfigurationManager.ConnectionStrings["SchoolConnectionString1"].ConnectionString;
return connString;
}

源文件:C:\Users\ALI\Desktop\Final Project\SchoolERP\SchoolERP \Connection\MyConnection.cs行:14

我的堆栈跟踪是在下给出的

堆栈跟踪:

[NullReferenceException:对象引用未设置为对象的实例。]学校ERP。联系C:\Users\ALI\Desktop\Final SchoolERP中的MyConnection.connectingString()。联系C:\Users\ALI\Desktop\Final Project\SchoolERP\SchoolERP \Connection\MyConnection.cs:14学校ERP。页码。会员C:\Users\ALI\Desktop\Final Project\SchoolERP\SchoolERP \Pages\Membership\Logout.aspx中的Logout.btLogout_Click(对象发件人,EventArgs e):26系统网状物UI。WebControls。按钮OnClick(EventArgs e)+118系统网状物UI。WebControls。按钮系统网状物UI。IPostBackEventHandler。RaisePostBackEvent(字符串事件参数)+10系统网状物UI。页RaisePostBackEvent(IPostBackEventHandler源控件,字符串事件参数)+13系统网状物UI。页RaisePostBackEvent(NameValueCollection postData)+36系统网状物UI。页ProcessRequestMain(布尔值包括同步点之前的阶段,布尔值包括异步点之后的阶段)+5563

问题:您的web.config文件中可能缺少ConnectionStringSchoolConnectionString1

解决方案:您需要在web.config文件中添加ConnectionString,如下所示:

<connectionStrings>
<add 
name="SchoolConnectionString1" 
connectionString="Data Source=serverName;Initial 
Catalog=DatabaseName;Persist Security Info=True;User 
ID=userName;Password=password"
providerName="System.Data.SqlClient"
/>
</connectionStrings>

最有可能的情况是错误的web配置或无效的结构(如果存在连接字符串并且中没有拼写错误

SchoolConnectionString1

如其他答案中所述。

在我们的项目中,有不止一个Web配置文件(一个用于调试,一个用于发布),所以这种情况经常发生。

因此,请检查您的案例中是否有两个(可能您的项目有用于不同构建的Web.Egg.Config和Web.Release.Config)。这是VS 2012中的一个选项(也许早期版本也是),可以为不同的环境替换一些配置。

不要在web.config中使用appsettings。而是使用web.config中的connectionStrings部分。

<connectionStrings>
<add name="SchoolConnectionString1" 
connectionString="Data Source=DatabaseServerName;Integrated Security=true;Initial   Catalog=MySampleDB" providerName="System.Data.SqlClient"/>
</connectionStrings >

在代码背后使用添加命名空间

using System.Configuration;

请检查您的配置文件中是否真的有"SchoolConnectionString1"连接字符串。

在配置文件(如果您正在处理一个web项目,则为web.config)中,您应该看到以下内容:

<add name="SchoolConnectionString1" connectionString="Data Source=someServer;Initial Catalog=MyDB[...]" providerName="System.Data.SqlClient" />

如果不是这样,并且连接字符串显示正确,请检查web.config作为一个整体的格式是否正确。

最新更新