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

简介:

前言
    看到网上很多关于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,如需转载请自行联系原作者

相关文章
|
前端开发
关于友好性测试中鼠标样式的修改
在日常的界面测试中,我们一定会有这样的CheckPoint:鼠标移到可点击标识的上方时是否变为小手。 上图中的鼠标样式是错误的,要想修改成小手我们需要对应的找到他所对应页面元素的CSS样式并做修改(添加红字部分): div[id$='icmbx'] { display: inl...
1008 0
在Mockplus中,如何做鼠标悬停时菜单下拉的效果?
了解Mockplus的用户会知道,该原型工具目前并不直接支持鼠标悬停功能。但我经过尝试,发现想用它实现一个鼠标悬停事件并不是什么难事,比如网页设计中很常见的鼠标悬停时菜单下拉的效果,只要换个思路,利用Mockplus的状态交互功能,就能轻松实现。
1126 0
|
JavaScript
fastadmin 自定义 按钮 动态切换数据 TAB切换
fastadmin 自定义 按钮 动态切换数据 TAB切换
331 0
|
设计模式
带你造轮子,自定义一个随意拖拽可吸边的悬浮View组件
在开发中,随意拖拽可吸边的View还是比较常见的,这种功能网上也有各种各样的轮子,其实写起来并不复杂,看完本文,你也可以手写一个,不到400行代码就能实现一个通用的随意拖拽可吸边的View组件。
665 1
|
JavaScript
原生js写的一个下拉框功能插件
用原生js写的一个下拉框功能插件
216 0
|
前端开发
前端的小玩意(5)——用dojo写的二级下拉菜单自动添加功能
先上DEMO, 虽然丑,那是因为零级按钮的界面太丑了,图标也丑┑( ̄Д  ̄)┍ 这两个优化后会好很多,毕竟美观不是我的特长嘛 DEMO链接: http://download.csdn.net/detail/qq20004604/9568685 (83)二级下拉菜单 ①过程描述: 【1】数据来源:一个数组,具体格式为: var dataArr = [{text
1872 0
|
9月前
|
Shell 开发工具 git
聊天功能演示系统发布后出现有些页面滚动与鼠标点击问题解决
聊天功能演示系统发布后出现有些页面滚动与鼠标点击问题解决
53 0
|
6月前
|
安全 BI UED
分享一个在 WinForm 桌面程序中使用进度条展示报表处理进度的例子,提升用户体验
分享一个在 WinForm 桌面程序中使用进度条展示报表处理进度的例子,提升用户体验

热门文章

最新文章