代码之家  ›  专栏  ›  技术社区  ›  Jack

不使用任何WebService的级联下拉列表

  •  1
  • Jack  · 技术社区  · 17 年前

    我正在寻找一种不使用Web服务进行级联下拉的方法,并遇到了这个问题 link

    我在底部尝试了这个建议,但得到了方法500的错误。我在网上搜索这个错误,但我能找到的只是增加WebServiceJasonSerisation的大小,但我根本没有使用Web服务,所以我认为这不适用。

    是否有人知道如何在不使用Web服务的情况下执行级联下拉列表,或者遇到更好的教程/如何操作?

    感谢

    1 回复  |  直到 13 年前
        1
  •  3
  •   Scott Lance    17 年前

    层叠下拉控件设计为在没有WebService的情况下使用。我在使用带有大数据集的控件时遇到了大问题。我最终做的是:

    <asp:ScriptManager ID="ScriptManager" runat="server" />
    <asp:UpdatePanel ID="Panel1" runat="server" ChildrenAsTriggers="true">
        <ContentTemplate>
            <asp:DropDownList ID="ddlDropdown1" runat="server" OnSelectedIndexChanged="ddlDropdown1_IndexChanged" AutoPostBack="true" />
            <asp:DropDownList ID="ddlDropdown2" runat="server" />
        </ContentTemplate>
    </asp:UpdatePanel>
    
    protected void ddlDropdown1_IndexChanged (object sender, EventArgs e)
    {
       // Do database access
       ....
       // Populate ddlDropdown2
    }
    

    这将允许您填充任意级别的下拉列表。此解决方案不使用层叠下拉控件,但会产生相同的效果。500错误是来自Ajax的一般数据错误,通常表示您没有在WebService类的上面使用[scriptService()]修饰符。