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

すべてを
override protected void OnInit(EventArgs e)に移動しました

これはユーザーコントロールだったので、これで問題が解決しました。

Chandermaniに感謝します

于 2012-05-16T04:42:01.620 に答える