我的问题是页面回发了,但没有调用该方法。
这是我在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);
}
}
答案 0 :(得分:0)
我把所有东西都搬到了 override protected void OnInit(EventArgs e)
因为这是一个用户控件,这解决了我的问题。
感谢Chandermani让我思考我的活动何时开始。