简体   繁体   English

GridView PagerTemplate上的动态LinkBut​​ton不触发事件

[英]Dynamic LinkButton on GridView PagerTemplate not firing event

I am doing a custom Pager Template for a gridview & trying to get something like: < 1 2 3 4 > 我正在为gridview做一个自定义的Pager模板,并尝试获得类似以下内容的内容:<1 2 3 4>

I am having problems clicking on the numbers... 我在点击数字时遇到问题...

Inside the PagerTemplate i have a Placeholder named "phLinks" that is being filled on the DataBound Event like this: 在PagerTemplate内部,我有一个名为“ phLinks”的占位符,它被填充在DataBound事件上,如下所示:

protected void DataBound(object sender, EventArgs e)
    {
        if (grid.PageCount > 1)
        {
            for (int i = 0; i < grid.PageCount; i++)
            {
                phLinks.Controls.Add(new LiteralControl("<li>"));
                LinkButton lb = new LinkButton { Text = (i + 1).ToString(), Enabled = grid.PageIndex != i, CommandArgument = i.ToString() };

                lb.Command += new CommandEventHandler(lb_Command);
                lb.CommandName = "Button";

                //lb.Click += new EventHandler(lb_Click);

                phLinks.Controls.Add(lb);
                phLinks.Controls.Add(new LiteralControl("</li>"));
            }
        }
    }

Please note that I have tried first the Click Event and then the Command Event, in both cases i get a post back but the event is not triggered... 请注意,我先尝试了Click事件,然后尝试了Command事件,在两种情况下,我都收到了回信,但未触发该事件...

What am i missing here? 我在这里想念什么?

Either bind your GridView on every postback : 在每个回发中绑定GridView

protected void Page_Load(object sender, EventArgs e)
    {
       MyGridView.DataBind();

    }

OR turn off ViewState for your GridView:: 或为您的GridView关闭ViewState ::

<asp:GridView ID="MyGridView" EnableViewState="false" ... /> . <asp:GridView ID="MyGridView" EnableViewState="false" ... />

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM