0

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

这是我在 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);
        }


    }
4

1 回答 1

0

我将所有内容移至
覆盖保护的 void OnInit(EventArgs e)

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

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

于 2012-05-16T04:42:01.620 回答