gpt4 book ai didi

asp.net - UpdatePanel 完整回发

转载 作者:行者123 更新时间:2023-12-01 05:47:26 26 4
gpt4 key购买 nike

您好,这里是场景。

我有 .aspx 页面和 updatepanel 像这样

<asp:UpdatePanel id="uPanelMain" runat="server">
<ContentTemplate>
<uc:Calendar id="ucCalendar" runat="server" Visible="true" />
<uc:Scoring id="ucScoring" runat="server" Visible="false" />
</ContentTemplate>

首先加载控件 ucCalendar,它包含一个像这样的网格
<asp:DataGrid CssClass="grid" ID="gridGames" runat="server" AutoGenerateColumns="False" HeaderStyle-CssClass="gridHeader" ItemStyle-CssClass="gridScoringRow"  
GridLines="None" ItemStyle-BackColor="#EEEEEE" AlternatingItemStyle-BackColor="#F5F5F5"
OnEditCommand="doScoreGame" OnDeleteCommand="doEditGame" OnCancelCommand="printLineup" OnItemDataBound="gridDataBound">
<Columns>
<asp:TemplateColumn >
<ItemTemplate>
<asp:CheckBox ID="chkDelete" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="idGame" Visible="false" />
<asp:BoundColumn DataField="isClose" Visible="false" />
<asp:TemplateColumn HeaderText="Status">
<ItemTemplate>
<asp:Image ID="imgStatus" runat="server" ImageUrl="~/img/icoX.png" alt="icoStatus" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:LinkButton ID="linkScore" runat="server" CommandName="Edit" Text="Score" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

因此,当我单击“linkBut​​ton”时,userControl 的代码隐藏在 .aspx 中调用一个公共(public)方法,如下所示:

从用户控件
    protected void doScoreGame(object sender, DataGridCommandEventArgs e)
{
((GM)this.Page).showScoring(null, null);
}

从 .aspx 页面
public void showScoring(object sender, EventArgs e)
{
removeLastLoadedControl();
ucScoring.Visible = true;
}

所以,问题来了:

当我更改 ucScoring 控件的可见属性时,会发生两次回发。

第一次回发很好,它由 updatePanel 处理。

第二次回发是完整的回发,我真的不明白为什么会这样。

我真的迷路了,请帮助!

谢谢

最佳答案

您正在手动触发 UpdatePanel 不知道的事件。您需要将该事件绑定(bind)到您的控件并注册它:

ScriptManager.RegisterAsyncPostBack(ucScoring);

关于asp.net - UpdatePanel 完整回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/811459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com