2

我使用 UpdatePanel 用一些搜索结果刷新数据网格,但不工作,整个页面进入回发状态。我希望有人可以帮助我,不能让它正常工作。. 谢谢。这是我的代码:

            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>

            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                    <td align="left" class="pageTitle" valign="top">
                        <twc:LocalizedLiteral Text="CRMcontxt6" runat="server" />
                    </td>
                </tr>

                    <tr align="left" style="background-color: #9bbbe3">
                        <td align="left" colspan="3">
                            <asp:Label ID="lblSearch" Height="15" runat="server" Font-Bold="true" Font-Size="11"></asp:Label>
                            <asp:TextBox Width="500px" ID="Search" autoclick="BtnSearch" runat="server" CssClass="boxDesign" />
                            <asp:LinkButton  ID="BtnSearch" runat="server" CssClass="save" />
                         </td>
                    </tr>
                </table>

                   <asp:datagrid id="searchresults" runat="server">
           </ContentTemplate>

             <Triggers>
                <asp:AsyncPostBackTrigger ControlID="BtnSearch" />
            </Triggers>
            </asp:UpdatePanel>
4

5 回答 5

4

这看起来像一个熟悉的 .NET 错误。在 LinkBut​​ton 上设置 ClientIDMode="AutoID" 应该可以解决它(顺便说一下,您可以删除触发器。不需要)。

于 2012-10-13T19:13:26.470 回答
2

一些解决方案:

一个。尝试UpdateMode = Conditional在 UpdatePanel 中给予并尝试(当你给予触发器时,你必须定义它)

湾。尝试删除<table>,并将其替换为<div>,有时更新面板对 table 标记不友好。

C。如果上述方法不起作用,请先尝试删除触发器和更新模式条件,看看是否有效。因为如果这不起作用,则意味着更新面板内的内容有问题。您可能希望从一些控件开始深入了解您的问题。

d。我看到用户控件被调用 - 检查您是否在这些用户控件中正确放置了更新面板。

于 2012-10-13T02:13:51.087 回答
1

在更新面板中使用它:

UpdateMode="Conditional" ChildrenAsTriggers="true"
于 2015-04-07T10:41:48.647 回答
1

检查您的 HTML 源代码是否没有 2 个或更多<form>标签。一个asp.net 页面通常应该只有一个<form>标签。

虽然到目前为止这个问题一直被问到没有答案,但我遇到了类似的问题,但发现了更新面板不起作用的原因:

当您<form>在某段 HTML 中有一个标记,然后将该 HTML 片段插入到<form>母版页的现有标记中时,您就会遇到问题。每次运行母版页的子页面并单击提交按钮时,按钮应该运行的代码都不会执行。相反,尽管有更新面板,但整个页面都会刷新,并且它还可能在页面的 URL 中添加一个查询字符串。

母版页的嵌套<form>标记是造成这种情况的原因。删除额外<form>标签后,一切都应该正常工作。

希望这可以帮助某人。

于 2016-07-02T09:30:05.043 回答
0

您错过了触发事件。您的触发器应如下所示

<Triggers>
            <asp:AsyncPostBackTrigger ControlID="BtnSearch" EventName="Click" />
</Triggers>

不要忘记将UpdateMode更新面板的属性设置为Conditional

这是一个参考::在 ASP.NET 4.0 C# 的 UpdatePanel 中使用触发器

于 2012-10-13T01:57:46.333 回答