读书人

异常:未对象引用设置到对象的实例

发布时间: 2012-06-07 15:05:14 作者: rapoo

错误:未对象引用设置到对象的实例
一个gridview内关于部门 和角色的设置
aspx:

<asp:TemplateField HeaderText="部门">
<EditItemTemplate>
<asp:DropDownList ID="ddlDepartment" runat="server" Width="80px" />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server"><%# Eval("DepartmentName") %></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="角色">
<EditItemTemplate>
<asp:DropDownList ID="ddlRole" runat="server" Width="80px" />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server"><%# Eval("RoleName") %></asp:Label>
</ItemTemplate>
</asp:TemplateField>
cs:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{

if (((DropDownList)e.Row.FindControl("ddlRole")) != null)
{
DropDownList ddlrole = (DropDownList)e.Row.FindControl("ddlRole");
// 生成 DropDownList 的值,绑定数据
string connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

DataSet ds = new DataSet();
SqlConnection conn = new SqlConnection(connStr);

if (conn.State.ToString() == "Closed") conn.Open();
SqlDataAdapter da = new SqlDataAdapter("Proc_RoleList", conn);
da.Fill(ds);
if (conn.State.ToString() == "Open") conn.Close();
ddlrole.DataSource = ds.Tables[0].DefaultView;
ddlrole.DataTextField = "RoleName";
ddlrole.DataValueField = "RoleId";
ddlrole.DataBind();
}
if (((DropDownList)e.Row.FindControl("ddlDepartment")) != null)
{
DropDownList ddldepartment = (DropDownList)e.Row.FindControl("ddlDepartment");

// 生成 DropDownList 的值,绑定数据
string connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
DataSet ds = new DataSet();
SqlConnection conn = new SqlConnection(connStr);
if (conn.State.ToString() == "Closed") conn.Open();
SqlDataAdapter da = new SqlDataAdapter("Proc_DepartmentList", conn);
da.Fill(ds);
if (conn.State.ToString() == "Open") conn.Close();

ddldepartment.DataSource = ds.Tables[0].DefaultView;
ddldepartment.DataTextField = "DepartmentName";
ddldepartment.DataValueField = "DepartmentId";
ddldepartment.DataBind();
}
web.config:

<connectionStrings>
<add name="OnLineExamConnectionString" connectionString="Data Source=SATURN-PC\SATURN;Initial Catalog=OnLineExam;Integrated Security=True"


providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="ConnectionString" value="server=SATURN-PC\SATURN;database=OnLineExam;Integrated Security=SSPI;uid=sa;pwd=sasasa"/>

</appSettings>

错误 : string connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
未将对象引用设置到对象的实例。

新手,求指点哪出的问题。。

[解决办法]
你的配置文件中没有“ConnectionString”或它的值
[解决办法]
string connStr = ConfigurationManager.ConnectionStrings["OnLineExamConnectionString"].ConnectionString;

如果用第二个 用下面
string connStr = ConfigurationManager.AppSettings["ConnectionString"].ConnectionString;

[解决办法]
我个去,感觉你的配置节点不是蛮那个,给你看看这个!

C# code
<connectionStrings>    <add connectionString="Data Source=.;Initial Catalog=Rujia_Transmit;uid=sa;pwd=123456" name="connStringLocal" providerName="System.Data.SqlClient"/>  </connectionStrings> 

读书人网 >C#

热点推荐