你的“System.NullReferenceException: 未将对象引用设置到对象的实例。
”是在那里出现的?出现这样信息主要是由于没有将数据原帮定到你的控件上
你仔细检查一下你的数据原是否正确?

解决方案 »

  1.   

    你有autopostback吗!
    可以直接使用TextBox1.Text = DropDownList1.SelectedItem.Text
    或TextBox1.Text = DropDownList1.SelectedItem.value
      

  2.   

    不用:
     int NowRecord=DropDownList1.SelectedIndex;
      DataRow NowRow = sqldataset.Tables["用户表"].Rows[NowRecord];
      Label1.Text=NowRow["用户名"].ToString();
      

  3.   

    DropDownList1的AutoPostBack设为true;
      

  4.   

    由于初始化时没有激发SelectIndexChanged事件,所以不能正常显示;
    建议使用PreRender事件,即可
      

  5.   

    你需要将sqldataset的内容保存到session中,
    Session["mydataset"] = sqldataset;
    然后在你的代码中如下使用:
    DataRow NowRow = ((DataSet)Session["mydataset"]).Tables["用户表"].Rows[NowRecord];
      

  6.   

    yurenseven(雨人):我是在page_load中连库的:
    private void Page_Load(object sender, System.EventArgs e)
    {
    SqlConnection sqlconn=new SqlConnection("server=zsb;database=zsb;uid=sa;pwd=1234;");
    sqlconn.Open();
    SqlDataAdapter sqladapter=new SqlDataAdapter("select * from 用户表",sqlconn);

    sqladapter.Fill(sqldataset,"sqladapter");
    DataGrid1.DataSource=sqldataset.Tables["sqladapter"].DefaultView;
    DataGrid1.DataBind();
    DropDownList1.DataSource=sqldataset.Table["sqladapter"].DefaultView;
    DropDownList1.DataTextField="用户名";
    DropDownList1.DataBind();
              
    // Put user code to initialize the page here
    }难道我在SelectedIndexChanged事件中还要设置它的数据源吗?关键是SelectedIndexChanged事件没有反应啊?????
      

  7.   

    dd\dfsafdsafdsa
    dropdownlist的autopost设为true,没有取到数据
      

  8.   

    或者将你以上三句代码改为一句:
    Label1.Text=DropDownList1.SelectedItem.Text;
      

  9.   

    DropDownList例子如下:<%@ Page Language="C#" Debug="true"%>
    <%@ Import namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %>
    <%@ Import Namespace="System.Data.SqlTypes" %>
    <html>
    <head>
       <script language="C#" runat="server">    void  MyListChangeCode(Object objSender,EventArgs objArgs)
          {
             Label1.Text = "You selected " + DropDownList1.SelectedItem.Value + ".";
    }   
       </script>
    </head>
    <body>
       <form runat="server">
          <h3>DropDownList Example</h3>
          Select an item from the list and click the submit button.
          <p>
           <asp:DropDownList id="DropDownList1" runat="server"
           OnSelectedIndexChanged="MyListChangeCode" AutoPostBack="true">
        <asp:ListItem Text="Option 1" Value="Value 1" />
        <asp:ListItem Text="Option 2" Value="Value 2" />
        <asp:ListItem Text="Option 3" Value="Value 3" />
      </asp:DropDownList>
        <br>
          <asp:Button id="Button1" 
               Text="Submit"      
               runat="server"/>
          <br>
          <asp:Label id="Label1" 
               runat="server"/>     
       </form>
    </body>
    </html>
      

  10.   

    只用:Label1.Text=DropDownList1.SelectedItem.Text;
    取道的总是第一条值???
    我把它写成:
    int NowRecord=DropDownList1.SelectedIndex;
    DataRow NowRow =((DataSet)Session["mydataset"]).Tables["用户表"].Rows[NowRecord];
    Label1.Text=NowRow["用户名"].ToString();Session["mydataset"]是在Page_Load中赋值的,但运行时还是说
    DataRow NowRow =((DataSet)Session["mydataset"]).Tables["用户表"].Rows[NowRecord];
    有错:System.NullReferenceException: 未将对象引用设置到对象的实例。我该怎么做???
      

  11.   

    上面各位大侠说的方法我都用了,出的错总是一样:
    出错都指到:
    DataRow NowRow =((DataSet)Session["mydataset"]).Tables["用户表"].Rows[NowRecord];错误信息:System.NullReferenceException: 未将对象引用设置到对象的实例。如果用Label1.Text=DropDownList1.SelectedItem.Text;
    就老是取到第一条值??是否是编译器的版本问题???
      

  12.   

    你在page_load中的dataset的附值好像没有啊!你跟踪一下,看看有没有值!
      

  13.   

    你为什么要这样做。
    你可以将DropDownList的value绑定为用户名Label1.Text=DropDownList1.SelectedItem.Value;
    不就成了吗。。
      

  14.   

    请教怎样跟踪????象delphi先设段点吗?但它到断点不停留,直接通过了。
      

  15.   

    你有page_load可以pause吗!
    dropdownlist有设置autopostback=true吗!
      

  16.   

    gangganghao(ganggang) :我是便于选择某个用户马上查到他的信息啊!
    当然也是熟悉控件用法了。
      

  17.   

    如果你的DropDownList.Items的Value是相同的,.Net就会找第一个跟Value匹配的Item,而不管你到底选的是哪一个,应该是Bug吧,我升级到.net sp2也不行System.NullReferenceException: 未将对象引用设置到对象的实例-->你确定Session里有这个标记为"mydataset"的DataSet,DataSet里有这个标记为"用户表"的DataTable吗?DataSet中填充数据了吗?如果上述都能保证,不会发生错误呀。
      

  18.   

    yohomonkey(ht):page_load可以pause,dropdownlist有设置autopostback=true这两个地方都没问题,因为我用其他方法验证过。
      

  19.   

    page_load 如下:private void Page_Load(object sender, System.EventArgs e)
    {
    SqlConnection sqlconn=new SqlConnection"server=zsb;database=zsb;uid=sa;pwd=1234;");
    sqlconn.Open();
    SqlDataAdapter sqladapter=new SqlDataAdapter("select * from 用户表 ",sqlconn);
    DataSet sqldataset=new DataSet();
    sqladapter.Fill(sqldataset,"sqladapter");
    Session["mydataset"] = sqldataset;
               
    DataGrid1.DataSource=sqldataset.Tables["sqladapter"].DefaultView;
    DataGrid1.DataBind();Label2.Text=sqldataset.Tables["sqladapter"].Rows[4]["区县名称"].ToString();  DropDownList1.DataSource=sqldataset.Tables["sqladapter"].DefaultView;
    DropDownList1.DataTextField="用户名";
    DropDownList1.DataBind();
    sqldataset.Dispose();
    sqlconn.Close();
                

    // Put user code to initialize the page here
    }SelectedIndexChanged如下:private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
    {DataSet NowDS = (DataSet)Session["mydataset"];
    int NowRecord=DropDownList1.SelectedIndex;
    DataRow NowRow =NowDS.Tables["用户表"].Rows[NowRecord];
    Label1.Text=NowRow["用户名"].ToString();}
      

  20.   

    将你的DropDownList的数据绑定放到(!isPagePostback)试试。。
      

  21.   

    SqlConnection"server=zsb;database=zsb;uid=sa;pwd=1234;");
    ---》
    SqlConnection("server=zsb;database=zsb;uid=sa;pwd=1234;");
    括号!
      

  22.   

    关于你所说的:
    private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
    {DataSet NowDS = (DataSet)Session["mydataset"];
    int NowRecord=DropDownList1.SelectedIndex;
    DataRow NowRow =NowDS.Tables["用户表"].Rows[NowRecord];
    Label1.Text=NowRow["用户名"].ToString();}
    无法处发的问题;
    请先把缘来的代码注释掉。
    在aspx的页面双击dropdownlist,代码回自动生成。
    再用鼠标右击你的工程,选择debugging,选中asp.net和asp debug。
    please trying。
      

  23.   

    请更改为:
    page_load:
    private void Page_Load(object sender, System.EventArgs e)
    {
    // Put user code to initialize the page here

    // Validate initially to force asterisks
    // to appear before the first roundtrip.


    if (!IsPostBack) 
    {
    // Label1.Text="ht";
    SqlConnection sqlconn=new SqlConnection("server=zsb;database=zsb;uid=sa;pwd=1234;");
    sqlconn.Open();
    SqlDataAdapter sqladapter=new SqlDataAdapter("select * from 用户表 ",sqlconn);
    DataSet sqldataset=new DataSet();
    sqladapter.Fill(sqldataset,"sqladapter");
    Session["mydataset"] = sqldataset;
    sqldataset.Dispose();
    sqlconn.Close(); DataGrid1.DataSource=Session["mydataset"].Tables["sqladapter"].DefaultView;
    DataGrid1.DataBind(); Label2.Text=Session["mydataset"].Tables["sqladapter"].Rows[4]["区县名称"].ToString();   DropDownList1.DataSource=Session["mydataset"].Tables["sqladapter"].DefaultView;
    DropDownList1.DataTextField="用户名";
    DropDownList1.DataBind();
    }
    }