【问题标题】:Using a web service with cascading drop downs使用具有级联下拉菜单的 Web 服务
【发布时间】:2011-05-20 04:18:23
【问题描述】:

下面是我的代码 -

 <asp:DropDownList ID="ddlCategories" runat="server" />
 <asp:CascadingDropDown ID="cddCategory" runat="server" ServicePath="~\Categories.asmx"
 ServiceMethod="GetCategories" TargetControlID="ddlCategories" Category="Category"
 PromptText="Please select a category" LoadingText="[Loading categories...]" />
 <br />

在我的 Page_Load 函数中,我有

{
        ddlCategories.DataBind();
}

我的 GetCategories 方法是

    [WebMethod]
    public CascadingDropDownNameValue[] GetCategories(
      string knownCategoryValues,
      string category)
    {
        List<CascadingDropDownNameValue> l = new List<CascadingDropDownNameValue>();
        l.Add(new CascadingDropDownNameValue("International", "1"));
        l.Add(new CascadingDropDownNameValue("Electronic Bike Repairs & Supplies", "2"));
        l.Add(new CascadingDropDownNameValue("Premier Sport, Inc.", "3"));
        return l.ToArray();
    }

但是当页面被加载时,GetCategories 函数永远不会被调用。我的 ddlCategories 下拉列表中有这些项目 - 请选择一个类别 [方法错误400]

有没有我遗漏的步骤?

【问题讨论】:

    标签: asp.net ajax


    【解决方案1】:

    通过查看 CascadingDropDown sample 和您的代码,我认为您的属性设置可能略有错误。您的 CascadingDropDown 的 TargetControlId 当前是 ddlCategories,但是我认为应该将此值设置为 ParentControlId 属性,并且您需要 另一个 DropDownList 它成为扩展器的目标控件,例如

    <asp:DropDownList ID="ddlCategories" runat="server" /><br/>
    <asp:DropDownList id="ddlSubcategories" runat="server" />
    <asp:CascadingDropDown ID="cddCategory" TargetControlID="ddlSubcategories" ParentControlId="ddlCategories" runat="server" ServicePath="~\Categories.asmx" 
    ServiceMethod="GetCategories" Category="Category"  
    PromptText="Please select a category" LoadingText="[Loading categories...]" />
    

    【讨论】:

    • Phil,下面是 TargetControlId 的定义 - •TargetControlID - 要填充的 DropDownList 的 ID。其他想法?
    • @duckmike 您对 CascadingDropDown 的作用有何理解?我的是您有两个或多个下拉列表,其中 CascadingDropDown 扩展器应用于第二个(和后续)下拉列表,因此当您在第一个下拉列表中选择一个项目时,扩展器拦截选择并过滤下一个下拉列表中的列表适合任何一组值。因此,您需要两个下拉列表,其中扩展器应用于第二个。
    • 谢谢,这很有帮助。
    猜你喜欢
    • 2020-04-27
    • 2012-06-13
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多