UpdatePanel中的Formview未更新

时间:2017-11-21 23:24:10

标签: c# asp.net-ajax updatepanel

我在Panel中有一个带有Repeater的UpdatePanel。通过单击转发器的其中一个单元格,将根据在LinkBut​​ton中传递的转发器参数显示2个详细视图(Gridview,Formview - UpdatePanel中的每个)。

当Gridview显示正常时,FormView不是在更新其UpdatePanel时。所有的DataBinding应该正常运行,因为我已经运行了一年的应用程序 - 但没有UpdatePanels!我是第一次使用它们而且必须遗漏一些东西。

<asp:UpdatePanel runat="server" ID="UpdatePanel" UpdateMode="Always">
<ContentTemplate>                                          
    <asp:Panel ID="Panel1" runat="server" ScrollBars="Vertical" Height="600px">
        <asp:Repeater runat="server" id="RepeaterKalendar">
            <ItemTemplate>  
                ...
                <asp:LinkButton ID="ButtonSelect" runat="server" CommandArgument = '<%# Eval("date") %>' Text='<%# Bind("TAG") %>' OnClick="GetDetails"/>
                ...
            </ItemTemplate>
        </asp:Repeater>
    </asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>

<asp:UpdatePanel ID="UpdatePanel_Grid" UpdateMode="Conditional" runat="Server">
<ContentTemplate> 
    <asp:GridView runat="server" ID="Grid_Details" OnSelectedIndexChanged="IndexChanged">
    ...
    </asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>

<asp:UpdatePanel runat="server" ID="UpdatePanel_Form" UpdateMode="Conditional">
<ContentTemplate>
    <asp:FormView runat="server" ID="Form_Details" DefaultMode="Edit"">
        <EditItemTemplate>
        ...
        </EditItemTemplate>
    </asp:FormView>
</ContentTemplate>
</asp:UpdatePanel>

LinkBut​​ton的代码隐藏点击

protected void GetDetails(object sender, EventArgs e)
{
    LinkButton LinkButton1 = (sender as LinkButton);
    string commandArgument = LinkButton1.CommandArgument;
    BuildDetailsViewReport(Convert.ToDateTime(commandArgument));
    BuildDetailsViewList(Convert.ToDateTime(commandArgument));
    UpdatePanel_Grid.Update();
    UpdatePanel_Form.Update();             
}

UpdatePanel_Form.Update()不更新FormView,甚至导致GridView未更新。如果我从代码中删除该命令,则GridView会正确上传。

感谢任何帮助。 马丁

0 个答案:

没有答案