还是个老问题,我在datagrid的模板列里增加了个DropDownList,但是在更新的时候老是提示出错,帮我看看啊 ,更新代码如下: if (e.Item.ItemType==ListItemType.EditItem)//更新操作
{   
string conn=ConfigurationSettings.AppSettings["odbc"]; 
OleDbConnection myConnection= new OleDbConnection(conn);
 myConnection.Open();
TextBox txt1 = (TextBox)(e.Item.FindControl("TextBox1"));
 string text1 =txt1.Text;                     //得到第二列的值
TextBox txt2 = (TextBox)(e.Item.FindControl("TextBox2"));
  string text2 =txt2.Text;                   //得到第三列的值  TextBox txt3 = (TextBox)(e.Item.FindControl("TextBox3"));
 string text3 =txt3.Text;                   //得到第四列的值
 DropDownList txt4 = (DropDownList)(e.Item.FindControl("DropDownList2"));
 string text4 =txt4.SelectedItem.Text;     //得到第五列的值
 txt4.Items.FindByValue(e.Item.Cells[4].Text.ToString()).Selected=true;//选择数据库内的作为默认
string updateCmd = "UPDATE place SET placename=@placename, placelei =@placelei, placehei =@placehei,placewid =@placewid  ";OleDbCommand myCommand = new OleDbCommand(updateCmd, myConnection);
               
myCommand.Parameters.Add(new OleDbParameter("@placename", OleDbType.VarChar, 40));
myCommand.Parameters["@placename"].Value=txt1.Text; myCommand.Parameters.Add(new OleDbParameter("@placehei", OleDbType.VarChar, 20));
myCommand.Parameters["@placehei"].Value=txt2.Text;myCommand.Parameters.Add(new OleDbParameter("@placeheid", OleDbType.Char, 20));
myCommand.Parameters["@placeheid"].Value=txt3.Text;
 OleDbParameter parm2=new OleDbParameter("@placelei", OleDbType.VarChar, 40);
  parm2.Value=((DropDownList)e.Item.FindControl("DropDownList2")).SelectedValue;
myCommand.Parameters.Add(parm2);
myCommand.ExecuteNonQuery();
DataGrid1.EditItemIndex = -1;
myConnection.Close();
BindGrid();
}
更新操作时提示错误是:“/guanggao”应用程序中的服务器错误。
--------------------------------------------------------------------------------
未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误: 
行 144:   DropDownList txt4 = (DropDownList)(e.Item.FindControl("DropDownList2"));
行 145:   string text4 =txt4.SelectedItem.Text;       //得到第五列的值
行 146:  txt4.Items.FindByValue(e.Item.Cells[4].Text.ToString()).Selected=true;         //选择数据库内的作为默认
行 147:
行 148: string updateCmd = "UPDATE place SET placename=@placename, placelei =@placelei, placehei =@placehei,placewid =@placewid  ";
源文件: e:\d\guanggao\addadw.aspx.cs    行: 146 
到底时啥问题啊,我参考了网上的一些资料还是不行,该怎么修改