遇到个项目,comobox数据填充,卡在这个地方,调websercie ,网上搜了很多,都没遇到过一样的,搞了几个版本希望对大家有帮助, <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="testextcomobox._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title></title> <link href="ext-all.css" mce_href="ext-all.css" rel="stylesheet" type="text/css" /> <mce:script type="text/javascript" src="ext-base.js" mce_src="ext-base.js"></mce:script> <mce:script type="text/javascript" src="ext-all.js" mce_src="ext-all.js"><!-- // --></mce:script> <mce:script type="text/javascript" src="ext-all-debug.js" mce_src="ext-all-debug.js"><!-- // --></mce:script> <mce:script type="text/javascript"><!-- Ext.onReady(function() { var combo_store = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ url: 'Handler1.ashx', method: 'POST' }), reader: new Ext.data.JsonReader({ root: 'date', fields: [{ name:'classid' },{ name:'cname'}] }), baseParams:{type:4} }); combo_store.load(); var combo = new Ext.form.ComboBox( { id: 'classid', fieldLabel: 'test', required: true, allowBlank: false, store: combo_store, triggerAction: 'all', loadingText: '加载', displayField: 'cname', valueField: 'classid', maxHeight: 95, minChars: 100, applyTo: 'local-states', mode: 'local', triggerAction: 'all', emptyText: '请选择' }); }); // --></mce:script> </head> <body> <form id="form1" runat="server"> <input type="text" id="local-states" size="20"/> </form> </body> </html> using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; namespace testextcomobox { /// <summary> /// $codebehindclassname$ 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.Web.Script.Services.ScriptService] public class Handler1 : IHttpHandler { public void ProcessRequest(HttpContext context) { string result = ""; result = context.Request.QueryString["type"]; context.Response.ContentType = "application/json"; context.Response.Charset = "utf-8"; result = "{/"date/":[{/"classid/":/"1/",/"cname/":/"a/"},{/"classid/":/"2/",/"cname/":/"b/"}]}"; context.Response.Write(result); context.Response.End(); } public bool IsReusable { get { return false; } } } } 下面的是调websercie <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="testextcomobox._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title></title> <link href="ext-all.css" mce_href="ext-all.css" rel="stylesheet" type="text/css" /> <mce:script type="text/javascript" src="ext-base.js" mce_src="ext-base.js"></mce:script> <mce:script type="text/javascript" src="ext-all.js" mce_src="ext-all.js"><!-- // --></mce:script> <mce:script type="text/javascript" src="ext-all-debug.js" mce_src="ext-all-debug.js"><!-- // --></mce:script> <mce:script type="text/javascript"><!-- Ext.onReady(function() { var preset = Ext.data.Record.create([{ name: 'classid', mapping: 'classid' }, { name: 'cname', mapping: 'cname'}]); var combo_store = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ url: 'WebService1.asmx/GetData' }), baseParams: { 'type': '1' }, reader: new Ext.data.JsonReader({ root: 'date' }, preset) }); combo_store.load(); var combo = new Ext.form.ComboBox( { id: 'classid', fieldLabel: 'test', required: true, allowBlank: false, store: combo_store, triggerAction: 'all', loadingText: '加载', displayField: 'cname', valueField: 'classid', maxHeight: 95, minChars: 100, applyTo: 'local-states', mode: 'local', triggerAction: 'all', emptyText: '请选择' }); }); // --></mce:script> </head> <body> <form id="form1" runat="server"> <input type="text" id="local-states" size="20"/> </form> </body> </html> web服务 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using System.Web.Script.Serialization; using System.Web.Script.Services; using System.Web.UI; namespace testextcomobox { /// <summary> /// WebService1 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] public class WebService1 : System.Web.Services.WebService { [WebMethod] [ScriptMethod(ResponseFormat=ResponseFormat.Json)] public void GetData(string type) { HttpContext.Current.Response.ContentType = "application/json"; HttpContext.Current.Response.Charset = "utf-8"; string result = ""; result = type; result = "{/"date/":[{/"classid/":/"1/",/"cname/":/"a/"},{/"classid/":/"2/",/"cname/":/"b/"}]}"; HttpContext.Current.Response.Write(result); HttpContext.Current.Response.End(); } } }