级联下拉而不使用任何Web服务

时间:2009-05-05 15:27:33

标签: asp.net-ajax

我一直在寻找一种不使用网络服务进行级联下拉菜单的方法,并遇到了link

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

有没有人知道如何在不使用网络服务的情况下进行级联下拉菜单,或者遇到更好的教程/指南?

感谢

1 个答案:

答案 0 :(得分:3)

Cascading Dropdown控件并非设计为在没有Web服务的情况下使用。我正在使用具有大型数据集的控件遇到大问题。我最终最终做的是以下内容:

<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
}

这将允许您根据需要填充多个级别的下拉菜单。此解决方案不使用Cascading Dropdown控件,但确实可以提供相同的效果。 500错误是来自AJAX的一般数据错误,通常表示您没有在webservice类上面使用[ScriptService()]装饰器。