首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2012-06-07 
错误:未对象引用设置到对象的实例一个gridview内关于部门 和角色的设置aspx:asp:TemplateField HeaderTex

错误:未对象引用设置到对象的实例
一个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> 

热点排行