动态创建的LinkBut​​ton回发但不调用onClick方法

时间:2012-05-16 03:41:23

标签: c# asp.net

我的问题是页面回发了,但没有调用该方法。

这是我在RenderProducts方法

中创建链接按钮的地方
for (var counter = 1; counter <= numberOfPages; counter++)
        {

            var pagingLink = new LinkButton
                                 {
                                     Text = " " + counter.ToString(CultureInfo.InvariantCulture) + " ",
                                     ID = "page" + counter
                                 };
            pagingLink.Attributes["runAt"] = "server";
            pagingLink.Attributes["class"] = "paging-link";
            pagingLink.Attributes.Add("AutoPostBack", "true");
            pagingLink.Attributes.Add("AutoEventWireup", "true"); 
            pagingLink.Click +=ChangePage;

            paging.Controls.Add(pagingLink);
        }

它正在调用的方法

        public void ChangePage(object sender, EventArgs args)
    {
        // handle this particular case
        RenderProducts(2);
    }

为了完整性,您将在PostBack上看到我阻止它的默认操作

 protected void Page_Load(object sender, EventArgs e)
    {
        GetSideBar();
        BuildRefineSearch();
        PopulateList();
        PerformSearch();
        if(!IsPostBack )
        {
            RenderProducts(1);
        }


    }

1 个答案:

答案 0 :(得分:0)

我把所有东西都搬到了 override protected void OnInit(EventArgs e)

因为这是一个用户控件,这解决了我的问题。

感谢Chandermani让我思考我的活动何时开始。