簡體   English   中英

asp.net UpdatePanel無法正常工作

[英]asp.net UpdatePanel not working correctly

我使用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>

一些解決方案:

一種。 嘗試在UpdatePanel中提供UpdateMode = Conditional ,然后嘗試(提供觸發器時必須定義此條件)

b。 嘗試刪除<table> ,然后將其替換為<div> ,有時Update Panels與table標記不兼容。

C。 如果上述方法不起作用,請首先嘗試刪除觸發器和更新模式條件,然后查看是否可行。 因為如果這不起作用,則意味着更新面板中的內容有問題。 您可能要從一些控件開始,以深入研究問題。

d。 我看到用戶控件被調用-檢查這些用戶控件中的更新面板是否放置正確。

這看起來像是一個熟悉的.NET Bug。 在LinkBut​​ton上設置ClientIDMode =“ AutoID”應該可以解決此問題(順便說一下,您可以刪除觸發器。不需要這樣做)。

在UpdatePanel中使用它:

UpdateMode="Conditional" ChildrenAsTriggers="true"

檢查您的HTML源代碼是否沒有2個或多個<form>標記。 一個asp.net頁通常應該只有一個<form>標記。

盡管到目前為止,這個問題一直沒有得到解答,但我遇到了類似的問題,但是發現了更新面板無法正常工作的原因:

當您在某段HTML中有一個<form>標記,然后將該HTML片段插入母版頁已經存在的<form>標記中時,就會遇到問題。 每次運行母版頁的子頁並單擊“提交”按鈕時,都不會執行該按鈕應該運行的代碼。 取而代之的是,盡管有更新面板,整個頁面還是會刷新,而且還可能在頁面的URL中添加查詢字符串。

母版頁面的嵌套<form>標記是造成這種情況的原因。 刪除多余的<form>標記后,一切都應正常工作。

希望這對某人有幫助。

您錯過了觸發事件。 您的觸發器應如下所示

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

不要忘記將更新面板的UpdateMode屬性設置為Conditional

這是參考:::在ASP.NET 4.0 C#中的UpdatePanel中使用觸發器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM