JS中獲取數據庫中的值

 

在本次項目中,遇到很多問題,經過努力,都逐步得到解決。靜下心來,做一個記錄,以供以後學習。

 

    在項目中遇到一個問題,需要在JS中讀取數據庫中的值,然後再把值返回到頁面中,解決方案如下:使用Ajax方法來實現,需要用到ajax.dll(一個ajax技術開發的幫助類庫)。

 

    實施過程如下:

 

    1、引用Ajax.dll

 

    2、在App_Code寫具體的方法,最好單獨建立一個類文件,然後寫具體方法。       

 

public class AjaxMethod www.aiwalls.com

{

    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;//此處返回一個多個值拼接成的字符串

    }

}

3、在JS中調用

moneydiscount= AjaxMethod.GetCardMoney(card, pwd).value;

moneydiscount是一個多個值拼接成的字符串,要獲取多個值的話,可以把該字符串轉換為一個數組,然後去訪問。

arr=moneydiscount.split(",");        這樣的話可以很方便的使用Ajax返回多個值。

4、要把結果再返回到頁面中

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

5、以上方法要在Web.config文件中增加

<httpHandlers>

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

</httpHandlers>

   今天的內容就寫到這裡,以後有時間再慢慢寫

摘自:讓你望見影子的墻

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *