最近做的一个项目中要添加一个小功能,就是在客户输入药品名称的时候能自动产生药材名的拼音首字符及药材名称第一个字的笔画数,在以后的药材检索中中用到。
为了方便药材信息录入我想到用AJAX解决,汉字拼音和笔画可以用微软提供的Visual Studio International Pack类库。
最近做的一个项目中要添加一个小功能,就是在客户输入药品名称的时候能自动产生药材名的拼音首字符及药材名称第一个字的笔画数,在以后的药材检索中中用到。
为了方便药材信息录入我想到用AJAX解决,汉字拼音和笔画可以用微软提供的Visual Studio International Pack类库。
1、引用ChnCharInfo.dll、ChnCharInfoResource.dll到WEB项目中:
2、页面引用Jquery脚本库并加一个JS函数:

ChnCharInfo
<script src="UI/js/jquery.js" type="text/javascript" language="javascript"></script>
<script language="javascript" type="text/javascript">
<!--
function ChnCharInfo(o){
$.getJSON(
"ChnCharInfo.ashx?s=" + encodeURI(o.value),
function(json){
try{
$("#medspell").value = json.pingying; //拼音
$("#medpen").value = json.bihua; //笔画
}catch(e){}
}
);
}
// -->
</
3、TextBox 加上 onblur 事件: TextBox1.Attributes.Add("onblur", "ChnCharInfo(this)");
4、新增一个 ChnCharInfo.ashx 文件:

ChnCharInfo
<%@ WebHandler Language="C#" Class="ChnCharInfo" %>
using System;
using System.Web;
using System.Collections.ObjectModel;
using Microsoft.International.Converters.PinYinConverter;
public class ChnCharInfo : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
string cn_bh = "bihua:\"";
string cn_py = "pingying:\"";
string s = context.Server.UrlDecode(context.Request.QueryString["s"]);
try
{
char[] c = s.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
try
{
int bh = ChineseChar.GetStrokeNumber(c[i]);
cn_bh += bh.ToString();
break;
}
catch { }
}
for (int i = 0; i < c.Length; i++)
{
try
{
ChineseChar x = new ChineseChar(c[i]);
ReadOnlyCollection<string> roc = x.Pinyins;
foreach (string py in roc)
{
cn_py += py.Substring(0, 1);
break;
}
}
catch { }
}
}
finally
{
context.Response.ContentType = "text/plain";
context.Response.Write("{" + cn_py + "\"," + cn_bh + "\"}");
context.Response.End();
}
}
public bool IsReusable {
get {
return false;
}
}
5、测试一下 http://localhost:/../ChnCharInfo.ashx?s=汉字,如果一切正常会显示 {pingying:"HZ",bihua:"5"}
这样就完成了这个小功能,是不是很简单,呵。。
ChnCharInfo.dll、ChnCharInfoResource.dll文件可在附件中下载得到。
附件:/Files/relax/ChnCharInfo.rar
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述