JS通过Ajax.dll调用C#后端获取数据库数据

作者:工具松鼠时间:2026-10-27 12:28:34浏览:524

本文介绍如何利用Ajax.dll实现前端JavaScript与后端C#方法的异步调用,以获取数据库中的卡片余额和折扣信息。内容涵盖从引用库、编写后端查询逻辑、JS端解析返回字符串到Web.config配置的全过程,帮助开发者掌握旧版ASP.NET框架下的数据交互方案。

Ajax.dll调用后端获取数据库数据流程

具体实施步骤如下:


第一步,引入Ajax.dll库文件。


第二步,在App_Code目录下编写具体的C#方法。建议单独创建一个类文件来封装这些逻辑,以便管理。


相关C#代码实现如下:

public class AjaxMethod www.jb51.net
{
public AjaxMethod()
    {
        //
//TODO: 在此处添加构造函数逻辑
        //
    }
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public static string GetCardMoney(string cardNo,string cardPwd)
    {
string mConn = IConfiguration.getParameter("connectString");
IDBOSQL.IDBO dbo = IDBOSQL.IDBO.getIDBO(mConn);
dbo.openDatabase();
DataSet ds = dbo.executeSelectSql("select Card_Money,Service_Discount,Good_Discount from Table_CardInfo join Dic_CardType on Table_CardInfo.CardType_ID= Dic_CardType.CardType_ID where Card_NO='"+cardNo+"' and Card_Pwd= '"+cardPwd+"'and card_Status='正常'");
DataTable dt = ds.Tables[0];
string money = dt.Rows[0][0].ToString();
string service_discount = dt.Rows[0][1].ToString();
string good_discount = dt.Rows[0][2].ToString();
dbo.closeDatabase();
return money+","+service_discount+','+good_discount;//此处返回一个多个值拼接成的字符串
    }
}

前端JavaScript调用与结果处理

第三步,在前端JavaScript中调用上述C#方法。


前端JS调用代码如下:

moneydiscount= AjaxMethod.GetCardMoney(card, pwd).value;
moneydiscount变量是一个由多个值拼接而成的字符串。如果需要分别获取这些值,可以将该字符串转换为数组再进行访问。
arr=moneydiscount.split(","); //这样的话可以很方便的使用Ajax返回多个值。

第四步,将处理后的结果更新回页面显示。


页面更新代码如下:

document.getElementById("txtCard_Money1").value=arr[0];

Web.config必要配置

第五步,必须在Web.config文件中进行相应配置以支持Ajax请求。


Web.config配置代码如下:

<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
</httpHandlers>

今天的内容就写到这里,以后有时间再慢慢写

作者最新文章