博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AjaxPro无刷新选择列表框/下拉框[方便|稳定]
阅读量:7251 次
发布时间:2019-06-29

本文共 1414 字,大约阅读时间需要 4 分钟。

前言

    看到网上很多关于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使用的基本设置。

大家也可以在这个基础上加强,写得更通用一些:)

本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/586496,如需转载请自行联系原作者

你可能感兴趣的文章
javascript数组操作
查看>>
linux中父进程退出时如何通知子进程
查看>>
linux 缩减文件系统大小 LVM
查看>>
对比文件md5值实现去重文件
查看>>
C#设计模式之二十三解释器模式(Interpreter Pattern)【行为型】
查看>>
js处理中文乱码记录/nodejs+express error 413
查看>>
基于Keepalived实现LVS双主高可用集群
查看>>
SqlServer 使用脚本创建分发服务及事务复制的可更新订阅
查看>>
什么是Floating (浮动)规则?
查看>>
分布式文件系统-FastDFS
查看>>
HTML5 rotate 做仪表盘
查看>>
为什么说荆州松滋刘氏采穴堂是刘开七、刘广传的后裔
查看>>
React中使用Ant Table组件
查看>>
第四篇 快速、轻量、可扩展、易于使用的EmEditor
查看>>
MySQL删除小写记录
查看>>
用shell脚本收集查询IP信息的网站
查看>>
shiro整合oauth
查看>>
超级网管员——网络管理
查看>>
AjaxControltoolkit(工具包)安装步骤说明
查看>>
利用组策略进行的一次Windows主机安全整改
查看>>