动态加载的usercontrol事件问题 [英] Dynamically loaded usercontrol event problem

查看:194
本文介绍了动态加载的usercontrol事件问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我有分页用户控件.

pager.ascx代码

Hi,

I have paging user control.

pager.ascx code

public delegate void PageChangedEventHandler(object sender, CustomPageChangeArgs e);
public event PageChangedEventHandler PageChanged;
protected void lnkPageNumbers_Click(object sender, EventArgs e)
{
    SetCurrentPage(Convert.ToInt32(((LinkButton)sender).Text));
}
private void SetCurrentPage(int currentPage)
{
    Pager_PageChanged(this, args);
    //Some code
}



如果我在编译时添加用户控件,则可以使用



If I add user control at compile time it works

<Custom:Pager ID="CustomPager"  runat="server"  önPageChanged="CustomPager_PageChanged" />;



********
如果在运行时添加了用户控件,则它将部分起作用.我可以设置用户控件的属性,但无法在点击页码时触发事件.

parent.aspx代码



********
If user control added at runtime it work partially. I am able to set properties of user control but I am not able to fire event on page number click.

parent.aspx code

if (some condition)
{
 LinkPager CustomPager1 = (LinkPager)LoadControl("~/LinkPager.ascx"); 
 CustomPager1.PageChanged+=new LinkPager.PageChangedEventHandler(this.CustomPager_PageChanged);  
}
protected void CustomPager_PageChanged(object sender, CustomPageChangeArgs e)
{
    //some code
}



我没有收到任何错误,但没有调用CustomPager_PageChanged.

如果有人对此问题有任何想法,请告诉我.

谢谢,
Nagraj



I am not getting any error but CustomPager_PageChanged is not getting called.

Please let me know if anybody has any idea about the issue.

Thanks,
Nagraj

推荐答案

"某些情况"应该在页面加载或上层事件中,并且在点击后重新发布页面时必须为true用户控件中元素的元素.

检查您添加事件处理程序的标记,它没有附加任何条件的条件,这意味着每次都将事件处理程序附加到事件.

谢谢,
Hemant
The "some condition" should be in page load or upper events and it must be true when page is posted back on click of element in user control.

Check your markup where you''ve added the event handler, it doesn''t have any condition to attach the event handler that means the event handler is attached to the event every time.

Thanks,
Hemant


这篇关于动态加载的usercontrol事件问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆