【问题标题】:Ajax DDL not populating every time - VS2008, C#, ASP.NETAjax DDL 不是每次都填充 - VS2008、C#、ASP.NET
【发布时间】:2009-09-01 16:38:03
【问题描述】:

这是我用来填充我的 DDL 的代码。当用户访问我的页面时,有时不会填充 DDl。这只发生在生产中,而不是在开发或测试中。有人对为什么会发生这种情况有任何想法吗?

   <td style="width: 100%">
    <asp:UpdatePanel ID="GridUpdatePanel" runat="server" UpdateMode="Conditional">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="SubCategory" EventName="SelectedIndexChanged" />
        </Triggers>
        <ContentTemplate>
            <asp:DropDownList ID="SubCategory" runat="server" AutoPostBack="True" DataSourceID="SubCategoryObjectDataSource"
                AppendDataBoundItems="true" OnSelectedIndexChanged="SubCategory_SelectedIndexChanged">
                <asp:ListItem Value="-1" Text="- None -" />
            </asp:DropDownList>
            <asp:DropDownList ID="Category Type" runat="server" AutoPostBack="True" AppendDataBoundItems="true">
                <asp:ListItem Value="-1" Text="- None -" />
            </asp:DropDownList>
        </ContentTemplate>
    </asp:UpdatePanel>
    <asp:ObjectDataSource ID="SubCategoryObjectDataSource" runat="server" OnSelecting="SubCategoryObjectDataSource_Selecting"
        SelectMethod="GetSubCategories" TypeName="Util.DDLHelper">
    </asp:ObjectDataSource>
</td>

【问题讨论】:

  • 你确定不是数据库问题?例如,生产中的数据库是否具有与 dev 和 test 相同的值,您在哪里检索信息以填充 DDl?
  • @ltech,你可能想看看我发的这篇文章。我相信你遇到了和我一样的问题。在 IE 中,您是否曾经中止过操作?在 FireFox 中它只是不加载吗?请参阅stackoverflow.com/questions/757758/… 并查看我自己的答案。

标签: c# asp.net


【解决方案1】:

我不得不说,如果它只发生在生产中,那么它可能更多地与生成和运行的客户端代码有关,然后它与您发布的 ASP 代码有关。您可能想尝试找出它仅在某些浏览器、所有浏览器中失败或仅(看似)随机失败。我无法从发布的代码中准确判断 DDL 应该何时被填充。但是,通常当生产失败而不是开发失败时,它是 Javascript,这是因为您试图在页面完全加载之前运行某些东西。可能填充 DDL 的代码试图在页面完全加载之前运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多