DropDownList在GridView中的绑定

protectedvoidButton1_Click(objectsender,EventArgse){SqlConnectioncon=null;con=newSqlC... protected void Button1_Click(object sender, EventArgs e)
{

SqlConnection con = null;
con = new SqlConnection("Server=XP201204251340; User ID=sa;password=XXX; Initial Catalog=XXX系统");
con.Open();
if (GridView.Rows.Count > 0)
{
for (int i = 0; i < GridView.Rows.Count; i++)
{
GridViewRow row = GridView.Rows[i];
string str_hangban = row.Cells[0].Text.ToString();
string str_jihao = row.Cells[1].Text.ToString();
string str_jixing = row.Cells[2].Text.ToString();
string str_shifa = row.Cells[3].Text.ToString();
string str_jingting1 = row.Cells[4].Text.ToString();
string str_zhuangtai = row.Cells[5].Text.ToString();
string str_jihuaqifei = row.Cells[6].Text.ToString();
string str_shijiqifei = row.Cells[7].Text.ToString();
string str_jihuajiangluo = row.Cells[8].Text.ToString();
string str_yujijiangluo = row.Cells[9].Text.ToString();
string str_jiwei = row.Cells[10].Text.ToString();

DropDownList ddl = GridView.Rows[i].FindControl("DropDownList1") as DropDownList ;
String str_fujia = ddl.SelectedItem.Value; //---------------> 提示出错行
string strSQL = "truncat table paiban_ok insert into paiban_ok(hangban,……,fujia) values('" + str_hangban + "',……'"+str_fujia+"')";
try {com.ExecuteNonQuery();
}catch (Exception ex){ Lblmessage.Text = "数据库错误!" + ex.Message;}

}
con.Close();
}

}
选中DropDownList后 选择保存按钮就出错
错误信息:未将对象引用设置到对象的实例。
我感觉少了什么 麻烦您帮我看看 多谢多谢!!!
展开
 我来答
百度网友d874f7292
2012-05-29 · 超过30用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:61.3万
展开全部
建议你设个断点,我初步诊断你的问题是在findControl的时候,没有找到DropdownList的缘故,你可以把断点设到DropDownList ddl = GridView.Rows[i].FindControl("DropDownList1") as DropDownList ; 看看你dropdownList是否为Null, 这个分析只是从页面的分析,如果不是你页面的问题,也就是断点如果进入了你的业务逻辑层,那就需要你自己检查你的Code了,建议你判断一下row.FindControl("DropDownList1") 是否为null,这样可以减少异常的发生
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a4257748
2012-05-29 · 超过19用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:46.8万
展开全部
DropDownList ddl = GridView.Rows[i].FindControl("DropDownList1") as DropDownList ; 这里出问题了,当GridView加载完毕以后,GridView.Rows[i].FindControl("DropDownList1") 已经找不到控件了。需要在RowDataBound事件中给ddl 绑定值,点击按钮事件的时候,直接取值就行了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
duoingdown
2012-05-29 · TA获得超过290个赞
知道小有建树答主
回答量:249
采纳率:100%
帮助的人:177万
展开全部
as这个运算符,如果能转成目标类型就会转,如果转不了就会返回null。比如int x="abc" as int;就会返回null。所以你那个GridView.Rows[i].FindControl("DropDownList1")应该没获取到东西。你再调试看看。还有一个我不明白的地方是:你的GridView控件的ID怎么会是GridView,那不是关键字吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huntagain2008
2012-05-29 · TA获得超过927个赞
知道小有建树答主
回答量:999
采纳率:0%
帮助的人:404万
展开全部
你调试下,如果看到ddl.SelectedItem为null,你就懂了~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不想太帅噢
2012-05-29 · TA获得超过196个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:160万
展开全部
把你的Gridview控件代码贴出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式