关于asp.net:UpdatePanel内的LinkBut??ton触发了完整的回发

Full postback triggered by LinkButton inside UpdatePanel

我无法在具有部分回发的更新面板中动态添加控件。我在背后的代码中动态生成了一些LinkBut??ton并设置了它们的触发器,但是当我将它们触发时,它们会进行完整的回发,甚至不会调用LinkBut??ton Event当我解雇它们时,它们被放在\\'divPageNumber \\'

*。aspx:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
</asp:DataList>
               <table style="width: 100%">
                   <tr style="width: 10%">
                       <td>
                           <asp:LinkButton ID="lnkPrevious" runat="server" Font-Bold="True"
                               NavigateUrl="~/Default.aspx" OnClick="lnkPrevious_Click" Width="100px"><<???? ???</asp:LinkButton>
                       </td>
                       <td style="width: 80%">
                           
                           
                       </td>
                       <td style="width: 10%">
                           <asp:LinkButton ID="lnkNext" runat="server" Font-Bold="True"
                               NavigateUrl="~/Default.aspx" OnClick="lnkNext_Click" Width="80px">???? ???>></asp:LinkButton>
                       </td>
                   </tr>
               </table>
           </ContentTemplate>
           <Triggers>
               </asp:AsyncPostBackTrigger>
               
               
               
               
               
               
               
               
               
               
                                 
           </Triggers>

       </asp:UpdatePanel>

和* .cs:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
LinkButton btnPage;
            for (int i = 1; i <= objPagedDataSource.PageCount; i++)
            {
                btnPage = new LinkButton();                    
                btnPage.ID ="btnPage" + i.ToString();                    
                if (i == GetCurrentPageNumber + 1)
                    btnPage.Font.Bold = true;
                btnPage.Width = 10;
                btnPage.Style["margin-right"] ="2px";
                btnPage.Style["margin-left"] ="2px";
                btnPage.Text = i.ToString();

                if (brand !="" && brand != null)
                    btnPage.PostBackUrl ="Default.aspx?brand=" + brand +"&Page=" + i.ToString();
                else if (model !="" && model != null)
                    btnPage.PostBackUrl ="Default.aspx?model=" + model +"&Page=" + i.ToString();
                else
                    btnPage.PostBackUrl ="Default.aspx?Page=" + i.ToString();

                divPageNumber.Controls.Add(btnPage);

                LinkButton lb = (LinkButton)divPageNumber.FindControl("btnPage" + i.ToString());
                lb.Click += new EventHandler(lnkdel_OnClick);

                //Creates a new async trigger
                AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
                trigger.ControlID = lb.UniqueID;
                trigger.EventName ="Click";
                UpdatePanel1.Triggers.Add(trigger);

                ScriptManager.GetCurrent(this).RegisterAsyncPostBackControl(lb);
            }
            UpdatePanel1.Update();

protected void lnkdel_OnClick(object sender, EventArgs e)
    {

    }
    protected void lnkPrevious_Click(object sender, EventArgs e)
    {
        //GetCurrentPageNumber -= 1;
        //BindDataToRepeter();
        Response.Redirect("Default.aspx?Page=" + (Convert.ToInt32(Page.Request["Page"]) - 1).ToString());
    }
    protected void lnkNext_Click(object sender, EventArgs e)
    {
        //GetCurrentPageNumber += 1;
        //BindDataToRepeter();

        Response.Redirect("Default.aspx?Page=" + (Convert.ToInt32(Page.Request["Page"]) + 1).ToString());
    }

\\'lnkNext \\'和\\'lnkPrevious \\'是静态添加并起作用的。但是\\'lnkdel_OnClick \\'不起作用。

我在做什么?

谢谢


我通过此线程解决了我的问题

http://forums.asp.net/t/1895457.aspx/1