簡體   English   中英

UpdatePanel initializeRequest控制值是否為時已晚?

[英]UpdatePanel initializeRequest Control Values Too Late To Change?

這是我的代碼:

<asp:UpdatePanel ID="up1" runat="server">
    <ContentTemplate>
        <script type="text/javascript">
            var app = Sys.WebForms.PageRequestManager.getInstance();
            app.add_pageLoaded(createEditor)
            app.add_initializeRequest(removeEditor)

            function createEditor() {
                if (editor) return;
                var config = { toolbar: 'Description', width: 540 };
                editor = CKEDITOR.replace("editor", config);
            }

            function removeEditor() {
                if (!editor) return;
                editor.destroy();
                editor = null;
            }
        </script>

        <textarea id="editor" cols="1" rows="1" runat="server">
        </textarea>

        <asp:Button ID="btnsubmit" Text="Get 'er Done" runat="server" />
        <div>
            <%=strmessage%>
        </div> 
    </ContentTemplate>
</asp:UpdatePanel>

面板加載后,CKEditor將應用於文本區域。 當面板回發時,必須銷毀編輯器以將數據放回文本區域。 在此代碼中,不會及時銷毀編輯器以更新回發數據。 如果我這樣做,它將起作用:

<asp:Button ID="btnsubmit" onClientClick="removeEditor()" Text="Get 'er Done"
   runat="server" />

問題在於UpdatePanel並非總是通過該按鈕觸發,有時它是遠程觸發的。 似乎在調用initializeRequest時,已經設置了textarea的值。 現在有沒有辦法更新該值?

答案:如果您使用的是.NET,請忘記CKEditor,tinyMCE和所有其他富文本編輯器。 我不敢相信我花了這么長時間才了解AJAX控制工具包

暫無
暫無

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

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