ASP.NET - JQuery的.getJSON给Dropdownlist绑定Item
http://www.cnblogs.com/Mac_Hui/archive/2010/07/27/1785864.html
1、首先建立以个.ashx文件(Generic Handler),在此文件中生成JSON数据。
using System;
using System.Web;
using System.Data;
using System.Text; public class EmployeeLoad : IHttpHandler { public void ProcessRequest (HttpContext context) { StringBuilder sb = new StringBuilder();
DataTable dt = new DataTable();
dt = FetchEmployeeInfo().Tables[];
if (dt == null)
return;
if (dt.Rows.Count == )
{
return;
}
else
{
sb.Append("[");
for(int i=;i<dt.Rows.Count;i++)
{
sb.Append("{\"ID\":\"" + dt.Rows[i]["ID"].ToString() + "\",\"Name\":\"" + dt.Rows[i]["Name"].ToString() + "\",\"Age\":" + dt.Rows[i]["Age"].ToString() + ",\"Tel\":\"" + dt.Rows[i]["Tel"].ToString() + "\"},");
} sb.Remove(sb.Length - , );
sb.Append("]");
} context.Response.ContentType = "application/json";
context.Response.ContentEncoding = Encoding.UTF8;
context.Response.Write(sb.ToString());
} public bool IsReusable {
get {
return false;
}
} public DataSet FetchEmployeeInfo()
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
dt.Columns.Add("Tel", typeof(string)); //DataRow dr; DataRow dr = dt.NewRow();
dr["ID"] = "";
dr["Name"] = "Jim Hui";
dr["Age"] = ;
dr["Tel"] = "";
dt.Rows.Add(dr); dr = dt.NewRow();
dr["ID"] = "";
dr["Name"] = "Kevin Lee";
dr["Age"] = ;
dr["Tel"] = "";
dt.Rows.Add(dr); ds.Tables.Add(dt);
return ds; } }
2、其次在前台调用ashx文件中生成的数据
<script type="text/javascript" src="JavaScript/jquery-1.3.2.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
BindDropDownList();
});
function BindDropDownList()
{
$("#DropDownList1").html("");
$.getJSON("EmployeeLoad.ashx",null,function(json){
$.each(json,function(i){$("#DropDownList1").append($("<option></option>").val(json[i].ID).html(json[i].Name))});
});
$("<option></option>").val("").html("").appendTo("#DropDownList1"); }
</script>
这样就OK了。
注意:
1、要调试ashx代码,需要安装VS2005 SP1,即使有sp2也不可以的。
2、Dropdownlist增加空白选项是:$("<option></option>").val("").html("").appendTo("#DropDownList1");
ASP.NET - JQuery的.getJSON给Dropdownlist绑定Item的更多相关文章
- ASP.NET WebForm中前台代码如何绑定后台变量
转载自 http://www.cnblogs.com/lerit/archive/2010/10/22/1858007.html 经常会碰到在前台代码中要使用(或绑定)后台代码中变量值的问题.一般有& ...
- ASP.NET笔记之 ListView 与 DropDownList的使用(解决杨中科视频中的问题)
1.Repeater用来显示数据.ListView用来操作数据 InsertItemTemplate和updateItemTemplate**Eval(显示数据)和Bind(双向绑定:不仅是需要展现, ...
- jquery的bind跟on绑定事件的区别
jquery的bind跟on绑定事件的区别:主要是事件冒泡: jquery文档中bind和on函数绑定事件的用法: .bind(events [,eventData], handler) .on(ev ...
- jquery的getjson与jsonp
仔细的学习jquery的getjson的用法. http://www.cnblogs.com/leejersey/p/3750232.html http://www.jb51.net/article/ ...
- ASP.NET jquery ajax传递参数
第一种:GET传递 前台 ajax GET 传递 :即在请求的地址后面加上参数,URL地址长度有显示,安全性低 后台接收:Request.QueryString[“参数名字”]! 例如: func ...
- jQuery 的 $("someobjectid”).event() 的绑定
经验证,jquery 的 $("someobjectid”).event()事件绑定,如果放在某个会被重新初始化的对象里,就会被多次绑定. 如下 <div id="divID ...
- jquery动态添加元素无法触发绑定事件的解决方案。
jquery动态添加元素无法触发绑定的事件的解决方案. ╭(●`∀´●)╯二狗最近在工作中遇到一个问题,即当用jquery动态添加元素后,发现给动态添加的元素却无法触发事件(╯#-_-)╯╧═╧ ( ...
- Asp.net+jquery+ajaxpro异步仿Facebook纵向时间轴效果
Asp.net+jquery+ajaxpro异步仿Facebook纵向时间轴效果 在一个项目中,用到了时间轴展示产品的开发进度,为了更好用户体验,想到了Facebook的timeline效果, 搜了一 ...
- jQuery中getJSON跨域原理详解
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp28 jQuery中getJSON跨域原理详解 前几天我再开发一个叫 河蟹工 ...
随机推荐
- Mirantis OpenStack HA
Mysql使用Galera做Active/Active集群,同时使用Pacemaker,因为Galera mysql用到了领导机选举机制quorum,所以控制节点至少三个 RabbitMQ使用mirr ...
- ArrayList集合-[长度问题]--C#
list.Count//获取集合中实际元素的个数.list.Capacity//获取集合中可包含的元素数. /** * 每次集合中实际包含元素的个数(Count)超过了可以包含的元素的个数(Cap ...
- ACM比赛(第三次D)
Time Limit:1000MS Memory Limit:131072KB 64bit IO Format:%lld & %llu Description 有三户人家共拥有 ...
- SQL - 将NULL设置为 NOT NULL
在有些时候,我们在创建表的时候,会忘掉设置某一个列的属性,比如忘了设置为非空,但是默认情况下系统会自动的设置为NULL.这样我们该怎样通过语句设置呢?? 例如有一个表,其中的一个属性为WM CHAR( ...
- java--多线程之Runnable
引读: 上一篇博文中讲了Thread的继承,存在一个问题就是,如果类本身已经继承了某个父类,又要继承Thread,导致多重继承. [但是我们知道接口是实现多重继承的重要方式].java提供了Runna ...
- HDOJ1728 BFS【STL__queue_的应用】
STL__queue_的应用 调用的时候要有头文件: #include<stdlib.h> 或 #include<cstdlib> + #include<queue> ...
- Qt 状态机框架学习(没学会)
Qt状态机框架是基于状态图XML(SCXML) 实现的.从Qt4.6开始,它已经是QtCore模块的一部分.尽管它本身是蛮复杂的一套东西,但经过和Qt的事件系统(event system).信号槽(s ...
- c语言string.h和memory.h某些函数重复问题
在C语言中,为了使用memset()函数,你是选择#include <string.h>还是<memory.h>?两个都可以,如何选择? <string.h>,标准 ...
- HEVC码率控制浅析——HM代码阅读之一
HM的码率控制提案主要参考如下三篇:K0103,M0036,M0257.本文及后续文章将基于HM12.0进行讨论,且首先仅讨论K0103对应的代码,之后再陆续补充M0036,M0257对应的代码分析, ...
- 设计模式(二)单件模式Singleton(创建型)
SINGLETON(单件)—对象创建型模式 几乎所有面向对象的程序中,总有一些类的对象需要是唯一的,例如,通过数据库句柄到数据库的连接是独占的.您希望在应用程序中共享数据库句柄,因为在保持连接打开或关 ...