把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);
也不行
ddlParentCn.SelectedValue类型为string,zjColumn.TreeId类型为int。
string treeName = ddlParentCn.SelectedValue;
zjColumn.TreeId = int.Parse(treeName);
zjColumn.TreeId = Convert.ToInt32( ParentCn.SelectedValue);
也不行
treeName里面的值是什么??
要不然回报异常的未将对象设置为实例的错误,肯定是你的treeName 是空的啊
你设置断点,跟一下看看
判断你的treeName是否为空。
如果是数字字符是不会报错的。
if (!string.IsNullOrEmpty(treeName))
{
zjColumn.TreeId = int.Parse(treeName);
}
ddlParentCn.SelectedValue;这个内容是什么
这样就肯定没有问题了。就算你赋的值不是数字都不会报错
接收时zjColumn.TreeId首先要确定是int型吧
zjColumn.TreeId = int.Parse(treeName);
这行报错么?
报什么错?
如果是未实例对象的话
我怀疑是zjColumn.TreeId为null
int outs=0;
int.Tryparse("字符串",out outs);这样写.....有异常返回outs;否则正常转换
重心转移了,问题并不在于ddlParentCn.SelectedValue不能转换为int,而是对象zjColumn为null,那自然不能有zjColumn.TreeId了,诶~~
zjColumn.TreeId = Convert.ToInt32("105");
如果成功,就是ParentCn.SelectedValue的问题
不成功,就是zjColumn.TreeId问题然后放个断点看看什么错。。估计是低级错误。
如果成功就是zjColumn.TreeId的问题
zjColumn.TreeId = treeName;
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);
}
string treeName = ddlParentCn.SelectedValue;
看没有空的时候,或不是数字,或有空格的