zl程序教程

您现在的位置是:首页 >  其它

当前栏目

AjaxPro无刷新选择列表框/下拉框[方便|稳定]

选择 刷新 稳定 方便 下拉框 列表框
2023-09-14 09:00:58 时间

前言
    看到网上很多关于ASP.NET的无刷新选择列表框,服务器端有的返回DataSet,有的返回DataView,有的用分隔符拼接一个长字符串返回,相应的客户端解析也是各有不同。DataSet+JS我是怎么也没弄成过,顺便在这里讲下返回DataSet不存在数据库关闭与否的问题。前端时间我上司写了一个这样的东西我改了下还蛮好用的,不敢独享,与大家分享一下吧:)

正题
    服务器端代码:

///  summary
    /// Ajax服务器端响应方法
    ///  /summary
    ///  param name="param" /param
    ///  returns /returns
    [AjaxPro.AjaxMethod]
    public List List string  GetData(string param)
    {
        //获得数据
        Hashtable ht = DBHelper.GetDDLHashData(param);
        List List string  list = new List List string ();
        List string  ilist;
        //迭代拷贝数据
        foreach (DictionaryEntry item in ht)
        {
            ilist = new List string ();
            ilist.Add(item.Key.ToString());
            ilist.Add(item.Value.ToString());
            list.Add(ilist);
        }
        return list;
    }
    代码基本上不难,用泛型来包装一个List返回给客户端。再看客户端代码:
//添加Dropdownlist内容
function AddItemsTosDropdown(array,obj)
{
    try{
        var GetObj=document.getElementById(obj);
        GetObj.length=0;
        GetObj.options.add(new Option("请选择",""));
        for(var i=0;i array.length;i++){
            GetObj.options.add(new Option(array[i][1],array[i][0]));
        }
    }
    catch(e){
        alert(e.message);
    }
    调用js方法代码:
function selectChangeData(selectedValue)
{    
    try
    {
        //获得数据并添加到列表框
        AddItemsTosDropdown(ItemSeach.GetData(String(selectedValue)).value," %=ddlControl.ClientID% ");
    }catch(e){
        alert(e.message);
    }

    OK!没有一点问题,复制代码只需要改下数据源获取就可以用了,比较通用,但是别忘了AjaxPro使用的基本设置。
大家也可以在这个基础上加强,写得更通用一些:)

补充说明:
    感谢上司,但是不知道上司是不是也是拿来主义,所有来个通用的:感谢代码的原作者:)


转载:http://www.cnblogs.com/over140/archive/2008/06/16/1222962.html


elementui plus怎么在级联选中后关闭弹层 相信大家平时在敲代码的时候,经常都会用到 elementui 组件库,那么就有一个问题,elementui plus怎么在级联选中后关闭弹层呢?