我动态地在网页中调用我的用户控件。 当我第一次单击用户控件上的按钮时,事件未触发。当我第二次点击相同的事件时,事件正在激活..

任何人都可以帮助我吗?

有帮助吗?

解决方案

控件的客户端ID是从包含 INamingContainer 界面。因此,请确保层次结构中的所有控件都具有固定ID。

例如,如果在Repeater中有一个Button控件,则会连接按钮和转发器的ID以生成按钮的客户端ID。因此,转发器和按钮在回发中应具有相同的ID。

您可以将第一个请求的HTML与第二个请求的HTML进行比较,以快速确定这是否是问题。

其他提示

听起来像按钮的连接OnClick事件没有发生在每个页面加载,这是必需的。

您是否可以保证在添加控件时以及在页面返回后执行连接?我总是将我的事件挂钩放在Page_Init或Page_Load事件处理程序中以及任何回发检查之外。尝试在Handler挂钩上放置一个断点,看看断点是否被“命中”。两次。

按钮的事件连接看起来类似于:

protected void Page_Load(object sender, EventArgs e)
{
    btnSearch.Click += new EventHandler(btnSearch_Click); // breakpoint on this line
}

为动态创建的控件分配ID - 否则不会触发任何事件。

在按下按钮之前,您是否在等待下载整页?

事件是ASP.Net在页面中隐藏的javascript函数,可能在您点击时不存在。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top