为数据视图中的控件指定一个值
本文关键字:一个 视图 数据 控件 | 更新日期: 2023-09-27 18:18:44
我想根据下拉列表的选定值为文本框分配一个值。但是我试着得到错误
下面是我的代码:"对象引用未设置为对象的实例"
foreach (GridViewRow gvr in cgvRequest.Rows)
{
//Programmatically access the CheckBox from the TemplateField
//CheckBoxField chk = (CheckBoxField)gvr.FindControl("chkMark");
Label lbl = (Label)gvr.FindControl("lblRequestAmount");
TextBox _txtAmount = (TextBox)cgvRequest.FindControl("txtAmount");
lbl.Text = Convert.ToString(
requestinfo.ElementAt(gvr.RowIndex).AmountRequested);
DropDownList ddl = new DropDownList();
ddl = (DropDownList)cgvRequest.FindControl("ddlApprovalType");
ddl.SelectedValue = "A";
_txtAmount.Text = lbl.Text;
}
你得到
的原因"对象引用未设置为对象的实例"
表示您试图将属性设置为null
的控件(下拉列表和/或文本框)。这意味着它不能被FindControl()
方法找到。
我只是假设这是因为我不能调试你的代码,但我打赌这是因为你在数据网格上调用FindControl
,而不是在行上。
试着把你的代码改成:
TextBox _txtAmount = (TextBox)gvr.FindControl("txtAmount");
和
DropDownList ddl = new DropDownList();
ddl = (DropDownList)gvr.FindControl("ddlApprovalType");
如果你的文本框"txtAmount"和下拉列表"ddlApprovalType"是在gridview行,那么为什么你试图从gridview本身得到这个。您应该使用与标签"lblRequestAmount"相同的代码。TextBox _txtAmount = (TextBox)gvr.FindControl("txtAmount");
如果这不能解决你的问题,请让我知道。请张贴更多的细节,如在哪一行你得到这个错误。并发布你的gridview设计器代码。
检查标签。文本获取值或为空。然后将值赋给文本框。
你从最后两行得到了一个错误,对吗?
你可以给我你的代码后面的代码,gridview设计器代码以及事件的完整代码…?
其实你在尝试什么?给我解释清楚…?