把ddlParentCn里面的值赋值给TreeId是出错,说未将对象设置为实例,可调试的时候ddlParentCn.SelectedValue有值,就是下一步赋值的时候出错。
ddlParentCn.SelectedValue类型为string,zjColumn.TreeId类型为int。
string treeName = ddlParentCn.SelectedValue;
zjColumn.TreeId = int.Parse(treeName);
zjColumn.TreeId = Convert.ToInt32( ParentCn.SelectedValue);
也不行

解决方案 »

  1.   

    ddlParentCn.SelectedValue可以加上.toString()吗
      

  2.   

    zjColumn.TreeId 是int类型的?
      

  3.   

    报什么错?
    treeName里面的值是什么??
      

  4.   

    string类型的字符串如果是数字就能转成int类型的
    要不然回报异常的未将对象设置为实例的错误,肯定是你的treeName 是空的啊
    你设置断点,跟一下看看
      

  5.   

    你之前string里是不是放的数字.要不然是转不了的
      

  6.   

    string treeName = ddlParentCn.SelectedValue;
    判断你的treeName是否为空。
      

  7.   

    调试下看看ddlParentCn.SelectedValue这个是什么东西
    如果是数字字符是不会报错的。
      

  8.   

                string treeName = ddlParentCn.SelectedValue;
                if (!string.IsNullOrEmpty(treeName))
                {
                    zjColumn.TreeId = int.Parse(treeName);
                }
      

  9.   

    打印出来看看
    ddlParentCn.SelectedValue;这个内容是什么
      

  10.   

    调试下就行了,看下string是否有值
      

  11.   

    大家看图,ddlParentCn是string类型的,也有值
      

  12.   

     int.TryParse(treeName, out zjColumn.TreeId );
    这样就肯定没有问题了。就算你赋的值不是数字都不会报错
      

  13.   

    ddlParentCn.SelectedValue类型是string。不用tostring()了,还有上面的图片是我调试的图片,调试的结果是ddlParentCn.SelectedValue=“105”,“105”能转换成int吧。可就是在转换的时候出错 了
      

  14.   

    ddlParentCn.SelectedValue=“105” 105带引号?
      

  15.   

    能转是能转 
    接收时zjColumn.TreeId首先要确定是int型吧 
      

  16.   

    是在
    zjColumn.TreeId = int.Parse(treeName);
    这行报错么?
    报什么错?
    如果是未实例对象的话
    我怀疑是zjColumn.TreeId为null
      

  17.   


    int outs=0;
    int.Tryparse("字符串",out outs);这样写.....有异常返回outs;否则正常转换
      

  18.   


    重心转移了,问题并不在于ddlParentCn.SelectedValue不能转换为int,而是对象zjColumn为null,那自然不能有zjColumn.TreeId了,诶~~
      

  19.   

    搂主把105直接填进去,像这样:
    zjColumn.TreeId = Convert.ToInt32("105");
    如果成功,就是ParentCn.SelectedValue的问题
    不成功,就是zjColumn.TreeId问题然后放个断点看看什么错。。估计是低级错误。
      

  20.   

    int i=int.Parse(treeName);
    如果成功就是zjColumn.TreeId的问题
      

  21.   

        Ding        想说的都被说啦 、一般报错就是这几种情况。 慢点调试吧。 
      

  22.   

    int treeName = Convert.ToInt32(ddlParentCn.SelectedValue);
    zjColumn.TreeId = treeName;
      

  23.   


    if(!string.IsNullOrEmpty(ddlParentCn.SelectedValue))
    {
    ClientScript.RegisterStartupScript(GetType(), "", "alert('"+ddlParentCn.SelectedValue+"'); ", true);
    int treeName = Convert.ToInt32(ddlParentCn.SelectedValue);
    zjColumn.TreeId = treeName;
    }
    else
    {
     ClientScript.RegisterStartupScript(GetType(), "", "alert('ddlParentCnValue为空!'); ", true);
    }
      

  24.   

    跟一下这里面是什么
    string treeName = ddlParentCn.SelectedValue;
    看没有空的时候,或不是数字,或有空格的