c# - 为什么我的 ASP 服务器返回此消息

标签 c# asp.net

我有一个在模态窗口中加载的表单,因为我使用了一个更新面板和一个名为 txtAccountInfo 的文本框。我在该文本框上设置了 textchange 事件,第一次更改文本事件被触发,但第二次 textchange 显示此消息。

uncaught exception: [Exception... "'Sys.InvalidOperationException: Sys.InvalidOperationException: Could not find UpdatePanel with ID 'uppMain'. If it is being updated dynamically then it must be inside another UpdatePanel.' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x8057001c (NS_ERROR_XPC_JS_THREW_JS_OBJECT)" location: "JS frame :: chrome://firebug/content/spy.js :: callPageHandler :: line 744" data: no]

我的 ASP.Net 代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="mAddOrder.aspx.cs"  Inherits="iSBBranch.ModalWindow.mAddOrder" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">

    </style>

</head>
<body>
    <div style="width: 850px;">      
        <form id="form1" class="form" action="ModalWindow/mAddOrder.aspx" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="uppMain" UpdateMode="Conditional" runat="server">
            <ContentTemplate>
                <asp:HiddenField ID="txtOrderType" Value="p"  runat="server" />
                 <asp:HiddenField ID="txtOrderStatus" Value="n"  runat="server" />
                  <asp:HiddenField ID="txtOrderRef"  runat="server" />
                <fieldset id="AccountId" style="width: 783px; position:relative;">
                    <legend>Account Information</legend>

                    <p>
                        <label>
                            *Account Number </label>
                        <span class="relative">
                            <asp:TextBox ID="txtInvestorRef" CssClass="TextBox" runat="server"
                                OnTextChanged="txtInvestorRef_TextChanged"  AutoPostBack="True"></asp:TextBox>
                            <span class="<%=iSBBranch.ModalWindow.mAddOrder.AccountStatus%>"></span></span>
                         <div style="position:absolute; right:100px; top:10px;">
                         <asp:UpdateProgress ID="pbContactAddress" runat="server" AssociatedUpdatePanelID="uppMain"
                                                DisplayAfter="100" DynamicLayout="true">
                                                <ProgressTemplate>
                                                Loading  
                                                    <img alt="Loading..." src="images/info-loader.gif" />
                                                </ProgressTemplate>
                                            </asp:UpdateProgress>
                          </div>
                </fieldset>
                <div class="columns">
                    <!-- Left column -->
                    <div class="colx2-left">
                        <fieldset>
                            <legend>Post Order</legend>
                            <p class="inline-medium-label" style="text-align: right;">
                                <label for="field1">
                                    Company</label>
                                <asp:DropDownList CssClass="Combobox" ID="ddlCompany" runat="server" OnSelectedIndexChanged="ddlCompany_SelectedIndexChanged"
                                    AutoPostBack="True">
                                </asp:DropDownList>
                            </p>
                            <br class="clear" />
                            <p class="inline-medium-label" style="text-align: right;">
                                <label for="field1">
                                    Total Quantiy</label>
                                <asp:TextBox ID="txtTotalQuantity" runat="server" CssClass="NumberField" ReadOnly="true">0</asp:TextBox>
                            </p>
                            <br class="clear" />
                            <p class="inline-medium-label" style="text-align: right;">
                                <label for="field1">
                                    Matured Balance</label>
                                <asp:TextBox ID="txtMaturedBalance" runat="server" CssClass="NumberField" ReadOnly="true">0</asp:TextBox>
                            </p>
                            <br class="clear" />
                            <p class="inline-medium-label" style="text-align: right;">
                                <label for="field1">
                                    Share Quantity</label>
                                <asp:TextBox ID="txtShareQuantity" CssClass="NumberField" runat="server" Text="0"
                                    OnTextChanged="txtShareQuantity_TextChanged" AutoPostBack="True"></asp:TextBox>
                            </p>
                            <br class="clear" />
                            <p class="inline-medium-label" style="text-align: right;">
                                <label for="field1">
                                    Rate</label>
                                <asp:TextBox ID="txtRate" CssClass="NumberField" runat="server" OnTextChanged="txtRate_TextChanged"
                                    AutoPostBack="True">0</asp:TextBox>
                            </p>
                            <br class="clear" />
                        </fieldset>
                    </div>
                    <!-- Right column -->
                    <div class="colx2-left" style="margin-left: 10px;">
                        <fieldset>
                            <legend>Company’s Current</legend>
                            <p class="inline-medium-label" style="text-align: right;">
                                <label for="field1">
                                    Market Type</label>
                                <asp:TextBox ID="TextBox1" ReadOnly="true" CssClass="TextBox" runat="server"></asp:TextBox>
                            </p>
                            <p class="inline-medium-label" style="text-align: right;">
                                <label for="field1">
                                    Last Trade Price</label>
                                <asp:TextBox ID="TextBox2" runat="server" CssClass="NumberField" ReadOnly="true"></asp:TextBox>
                            </p>
                            <p class="inline-medium-label" style="text-align: right;">
                                <label for="field1">
                                    Market Lot</label>
                                <asp:TextBox ID="TextBox3" runat="server" CssClass="NumberField" ReadOnly="true"></asp:TextBox>
                            </p>
                            <p class="inline-medium-label" style="text-align: right;">
                                <label for="field1">
                                    Highest Price
                                </label>
                                <asp:TextBox ID="TextBox4" runat="server" CssClass="NumberField" Enabled="false"></asp:TextBox>
                            </p>
                            <p class="inline-medium-label" style="text-align: right;">
                                <label for="field1">
                                    Lowest Price</label>
                                <asp:TextBox ID="TextBox5" Enabled="false" CssClass="NumberField" runat="server"></asp:TextBox>
                            </p>
                        </fieldset>
                    </div>
                </div>
                <br class="clear" />
                <div class="">
                    <fieldset style="width: 783px;">
                        <div style="float: right;">
                            <p class="inline-medium-label" style="text-align: right;">
                                <label>
                                    Total Trade Amount</label>
                                <asp:TextBox ID="txtTotalTradeAmount" runat="server" CssClass="NumberField" ReadOnly="true"></asp:TextBox>
                            </p>
                        </div>
                    </fieldset>
                </div>
                <br class="clear" />
                <div style="margin-top: 10px;">
                    <asp:Button ID="btnSave" CssClass="big-button" runat="server" Text="Save" 
                        onclick="btnSave_Click" />
                    <asp:Button ID="Button2" OnClientClick="return $.modal.current.closeModal();" CssClass="big-button"
                        runat="server" Text="Close" />
                </div>
            </ContentTemplate>
            <Triggers>

            <asp:AsyncPostBackTrigger ControlID="btnSave" EventName="Click" />


           <%-- <asp:AsyncPostBackTrigger ControlID="txtInvestorRef" EventName="TextChanged" />--%>
        </Triggers>
        </asp:UpdatePanel>
        </form>
    </div>
    <script type="text/javascript">
        CenterWindow();
    </script>
</body>
</html>

如果我关闭它并再次打开它,那么在该 session 中任何时候都不会显示错误。

请指教。

最佳答案

没有看到任何代码,这只是一个猜测,但这个错误通常意味着您试图强制一个 UpdatePanel 从另一个 UpdatePanel 中刷新。您是否要为位于另一个内部的一个触发器设置触发器?这是不可能的。

您还使用了模态窗口。你用什么来渲染这个?是否将模态 div 放在 ASP.NET 表单中?默认情况下,jQuery 和 simpleModal 不会将其附加到 DOM 的末尾。因此,尝试从此类对话框中更新 UpdatePanel 也会给您带来此错误。

请发布一些代码,人们将能够更好地帮助您。

关于c# - 为什么我的 ASP 服务器返回此消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5744472/

相关文章:

c# - ASP.Net WebAPI JSON 响应不序列化实体关系

c# - 重定向未经授权的用户 asp net

c# - 尝试将我的 Web 应用程序从 VS Enterprise 2015 update 1 发布到 azure 时出错 :

c# - 如何在运行时用文本和图像填充 WPF 组合框

c# - .Net Socket 不响应远程断开连接?

asp.net - 如何使用VB在单个按钮单击事件上打印整个asp.net网页?

asp.net - 使用 ajax 触发异步调用时复选框选中事件的事件名称是什么?

asp.net - Iframe 登录超时

c# - 用户已通过身份验证但缺少 Ticket.UserData

c# - 仅接受 + 和 - 符号的电话号码验证