asp.net:如何检查动态创建的控件是否已回发
如何检查动态创建的控件是否已回发?下面的代码不起作用asp.net:如何检查动态创建的控件是否已回发,asp.net,Asp.net,如何检查动态创建的控件是否已回发?下面的代码不起作用 Control control = null; string ctrlname = page.Request.Params.Get("__EVENTTARGET"); if (ctrlname != null && ctrlname != string.Empty) { control = page.FindControl(ctrlname); } else {
Control control = null;
string ctrlname = page.Request.Params.Get("__EVENTTARGET");
if (ctrlname != null && ctrlname != string.Empty)
{
control = page.FindControl(ctrlname);
}
else
{
foreach (string ctl in page.Request.Form)
{
Control c = page.FindControl(ctl);
if (c is System.Web.UI.WebControls.Button)
{
control = c;
break;
}
if (c is System.Web.UI.WebControls.ImageButton)
{
control = c;
break;
}
}
}
return control;
我已经在页面上动态创建了一些imagebuttons。但是上面的代码总是返回null。为什么呢?如何检查图像按钮是否已发回
注意:我能够处理这些图像按钮的点击事件。如果您想知道哪个控件在页面加载时启动了回发,有一些提示: 您可以覆盖 页面的RaisePostBackEvent方法 班级。发送到的第一个参数 此方法是导致 回发邮件。记得打电话
base.RaisePostBackEvent()
因此
回发事件已正确引发
或者,代替加载事件
您可以移动条件代码
发生的预渲染事件
在所有控制事件之后。所以
然后您将知道哪些控件
导致回发
如果ImageButton位于网格内,
你可以按一下按钮
commandName和on itemCommand检查
如果命令是您的命令
我不明白你的意思。“检查图像按钮是否已发回”是什么意思?您正在处理的点击事件是回发,不是吗?您有解决方案吗?如果我在
Page\u Load
本身中需要控件的ID怎么办;不是RaisePostBackEvent
?