我有一个Gridview,当点击编辑按钮时,使用详细信息视图显示该行的详细信息。
在显示时,我需要在detailsView中找到一个控件,然后将其与数据源绑定。
首先,我不确定要使用的事件但使用了DetailsView1_DataBound。但是,如果我必须使用
找到控件var control=(ControlType)DetailsView1.Findcontrol("ID");
始终返回null。可能是我没有使用正确的事件,并且在那时找不到控件。关于要使用的事件的任何想法,以及正确的代码吗?
由于
答案 0 :(得分:3)
在databound event
,您需要注意DetailsView Mode
if (DetailsView1.CurrentMode == DetailsViewMode.Edit)
{
//Put here if you want to find control of your Edit Mode
var control=(ControlType)DetailsView1.Findcontrol("EditTemplateControlID");
}
if (DetailsView1.CurrentMode == DetailsViewMode.Insert)
{
//Put here if you want to find control of your Insert Mode
var control=(ControlType)DetailsView1.Findcontrol("InsertTemplateControlID");
}
答案 1 :(得分:0)
我遇到了同样的问题,穆罕默德·阿赫塔尔的答案对我没有帮助。将DetailsView的默认模式从“编辑”更改为“插入”后,问题得以解决。
我还建议使用ItemCreated事件而不是DataBound事件。我经常使用它在DetailsView的字段中设置默认值。