weixin_33698823 2014-04-17 21:56 采纳率: 0%
浏览 41

使用Ajax级联下拉菜单

I am new to Ajax. I am implementing a cascading dropdown in a telerik RadGrid. I am adding the dropdownList and CascadingDropDown as follows:

          DropDownList droplist = new DropDownList();

          droplist.ID = "DropDownListOrderTask";
          droplist.AutoPostBack = true;         
          item["OrderTask"].Controls.Add(droplist);

          CascadingDropDown ccdOrderTask = new CascadingDropDown();
          ccdOrderTask.ID = "ccdOrderTask";
          ccdOrderTask.Category = "OrderTask";
          ccdOrderTask.TargetControlID = "DropDownListOrderTask";
          ccdOrderTask.PromptText = "Select Order Task";
          ccdOrderTask.LoadingText = "Loading OrderTask";
          ccdOrderTask.ServiceMethod = "BindOrderTask";
          ccdOrderTask.ServicePath = "ajaxservice.asmx";                            

          TextBox txt = (TextBox)item["TaskOwner"].Controls[0];
          txt.Visible = false;
          droplist = new DropDownList();
          droplist.ID = "DropDownListTaskOwner";
          item["TaskOwner"].Controls.Add(droplist);
          CascadingDropDown ccdTaskOwner = new CascadingDropDown();
          ccdTaskOwner.ID = "ccdTaskOwner";
          ccdTaskOwner.Category = "TaskOwner";
          ccdTaskOwner.ParentControlID = "DropDownListOrderTask";
          ccdTaskOwner.TargetControlID = "DropDownListTaskOwner";
          ccdTaskOwner.PromptText = "Select Task Owner";
          ccdTaskOwner.LoadingText = "Loading Task Owner";
          ccdTaskOwner.ServiceMethod = "BindTaskOwner";
          ccdTaskOwner.ServicePath = "ajaxservice.asmx"; 

On the PreRender I have the following: protected override void OnPreRender(EventArgs e) { base.OnPreRender(e);

       var ajaxManager = RadAjaxManager.GetCurrent(Page);

       if(ajaxManager != null)
           ajaxManager.AjaxSettings.AddAjaxSetting(this._UpdatePanel, this._RadGrid1, this._RadLoadingPanel);         
   }

In the ajaxservice.asmx I have the following:

  [WebMethod]
  public CascadingDropDownNameValue[] BindOrderTask(string knownCategoryValues, string category)
  {
  OrderRequestTaskTypeTable _orderRequestTaskTypeTable = new    OrderRequestTaskType_List().ExecuteTypedDataTable();
  List<CascadingDropDownNameValue> orderTaskDetails = new List<CascadingDropDownNameValue>();
  foreach(DataRow dtRow in _orderRequestTaskTypeTable.Rows)
  {
         String orderTaskId = dtRow["OrderRequestTaskTypeId"].ToString();
         String orderTaskName = dtRow["DescriptionTaskType"].ToString();
         orderTaskDetails.Add(new CascadingDropDownNameValue(orderTaskId, orderTaskName));
     }
    return orderTaskDetails.ToArray();
  }        

The first dropDown, DropDownListOrderTask contains no values. On debugging through Firebug it says: ReferenceError: BindOrderTask is not defined I am sure I am missing something but not sure what. Please help me.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
    • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
    • ¥15 乘性高斯噪声在深度学习网络中的应用
    • ¥15 运筹学排序问题中的在线排序
    • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
    • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
    • ¥15 C++ 头文件/宏冲突问题解决
    • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
    • ¥50 安卓adb backup备份子用户应用数据失败
    • ¥20 有人能用聚类分析帮我分析一下文本内容嘛