ASP.NET数据转成json / Ajax取出json作为下拉框<select>数据源

1.目的:把ASP.NET数据转成json格式,异步取得该json格式的字符串,把json作为下拉框<select>标签的数据源。

2.前台页面:AddSalesOrder.aspx

 

[html] view plain copy
 
  1. <html xmlns="http://www.w3.org/1999/xhtml">  
  2. <head runat="server">  
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  
  4.     <script src="../JavaScript/jquery-1.7.2.min.js"></script>  
  5.     <title>创建销售订单</title>  
  6.     <style type="text/css">  
  7.         .input {  
  8.             width: 190px;  
  9.         }  
  10.     </style>  
  11.   
  12.     <script type="text/javascript">  
  13.   
  14.         $(document).ready(function () { //页面加载完毕即执行,利用ajax取回数据填充到各个下拉框中  
  15.             getGSdata();  
  16.         });  
  17.   
  18.         function getGSdata() { //利用ajax异步获取来自一般处理程序的数据  
  19.            $.ajax({  
  20.                 type: "post",  
  21.                 url: "../Ajax/AddHandler.ashx",  
  22.                 data: "sign=1",  
  23.                 success: function(jsonData){  
  24.                     var json = eval(jsonData);              
  25.                     for (var i = 0; i json.length; i++) {  
  26.                $("#gs").append("<option value='"+json[i].value + "'>" + json[i].text + "</option>");  
  27.                     }  
  28.                 }  
  29.             }  
  30.             );  
  31.         }  
  32.     </script>  
  33. </head>  
  34. <body>  
  35.     <form id="form1" runat="server">  
  36.     <div>  
  37.          公司: <select id="gs" class="input"></select>          
  38.    
  39.     </div>  
  40.     </form>  
  41. </body>  
  42. </html>  

 

 

3.后台即一般处理程序:AddHandler.ashx

 

[csharp] view plain copy
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.Script.Serialization;  
  6.   
  7. namespace UEP.SalesOrder.Web.Ajax  
  8. {  
  9.     /// <summary>  
  10.     /// AddHandler 的摘要说明  
  11.     /// </summary>  
  12.     public class AddHandler : IHttpHandler  
  13.     {  
  14.   
  15.         public void ProcessRequest(HttpContext context)  
  16.         {  
  17.             context.Response.ContentType = "text/plain";  
  18.               
  19.             int sign;  
  20.             string result="";  
  21.             sign = Convert.ToInt32(context.Request.Form["sign"]);  
  22.             switch (sign)  
  23.             {  
  24.                 case 1: result = loadGS();  
  25.                     context.Response.Write(result);  
  26.                     break;  
  27.                   
  28.             }  
  29.               
  30.         }  
  31.   
  32.         public string loadGS()  
  33.         {  
  34.             List<GS> gsList = new List<GS>();  
  35.             for (int i = 0; i < 5; i++)  
  36.             {  
  37.                 GS gs = new GS() { value = i,text = "公司" + i };  
  38.                 gsList.Add(gs);  
  39.             }  
  40.   
  41.             JavaScriptSerializer serializer = new JavaScriptSerializer();  
  42.             var jsonData = serializer.Serialize(gsList);  
  43.   
  44.             return jsonData;  
  45.         }  
  46.   
  47.         public class GS //公司类  
  48.         {  
  49.            public  int  value { get; set; }  
  50.            public  string text { get; set; }  
  51.         }  
  52.   
  53.         public bool IsReusable  
  54.         {  
  55.             get  
  56.             {  
  57.                 return false;  
  58.             }  
  59.         }  
  60.     }  
  61. }  

 

 

4.运行结果

posted on 2017-06-08 15:34  alex5211314  阅读(142)  评论(0编辑  收藏  举报

导航