Ajax一个Ajax的事例

 

一个Ajax的例子

总述

近年来商家来个类别,是用B/S结构实现呼叫中心,因为以前有C/S结构的程序,所以只好以新生开销的次去套接原来的主次。坐席板卡厂家提供了一个OCX,意思用<Object>把OCX引入到网页遭到进通与后台CTI通讯,我这里的做事便是跟据它回到的轩然大波来写数据库。看起如从未什么技巧达到阻碍了,但来后底试验中发现了一个杀问题。在网页中调用OCX的主意全用的凡脚本语言(我于是的凡JavaScript),但以ASP.NET中,提交数据库的搞作是一旦刷新页面的。这样,当坐席人员签证到后,再朝着数据库服务器端提交数据经常,页面刷新,由于下论以页面刷新后,所有的剧本代码要双重加载一全勤,这样,坐席就回来了未曾签到状态。这样,就发了个冲突,坐席状态不思量页面刷新,写数据库要页面刷。

岂惩罚,幸好,“山西DotNet俱乐部”QQ群的“天赐神兵”说用Ajax。说是这个可以满足自家之求。于是便省了,把所得结果共享于大家。

本例是援引了Ajax.net的一个dll做的。首先在vs2005底品种蒙引用一个AjaxPro.2.dll运行库。

1、   aspx页面代码

<html xmlns=”http://www.w3.org/1999/xhtml” >

<head runat=”server”>

    <title>无标题页</title>

    <meta http-equiv=”Content-Type” content=”text/html;
charset=gb2312″>

    <script language=”javascript” src=”log.js”>

    </script>

</head>

<body>

<object id= “xx” classid=”clsid:CF850467-2EFA-490D-8702-59905FBA32CB”
name=”ss” >

</object>

 <form name=”form1″ runat=”server” id=”Form1″ >

 <input onClick=”WriData();” class=”border” type=”button”
value=”写数据库” name=”sub”> 

 </form>

</body>

</html>

每当此,只待调用JS里的一个文件就足以了。其中<object>部份是用来引于ocx的,它的法勾勒入JS文件中,这里她的计就是不写了。

 

2、   JS页面代码

function add(bz)

 test.WriData(bz,show);

}

function show(val)

  Alert(val.value);

}

里头test,cs文件中之类名,WriData为cs文件被的函数,bz也参数。Show()方法要是提示。

 

3、   cs文件代码

using System;

using System.Data;

using System.Data.SqlClient;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

 

public partial class log : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        AjaxPro.Utility.RegisterTypeForAjax(typeof(log));

}

    [AjaxPro.AjaxMethod]

    public string WriData(int bz)

    {

        string conn =
“server=.;database=DataBaseName;uid=sa;pwd=123456”;

        SqlConnection con = new SqlConnection(conn);

        con.Open();

        SqlCommand com = new SqlCommand();

        com.Connection = con;

        com.CommandText = “update zxdab set zbbz='” + bz + “‘,listen='”

  • bz + “‘”;

        com.ExecuteNonQuery();

        return “写数据库成功” ;

    } 

}

其中     
AjaxPro.Utility.RegisterTypeForAjax(typeof(test));是为此来报cs代码中之test类的。每个自定议方法前必定用加以[AjaxPro.AjaxMethod],WriData()方法是用来描写数据库的。

 

4、   Webconfig文件之改

在<system.web>下加入

    <httpHandlers>

      <add verb=”POST,GET” path=”ajaxpro/*.ashx”
type=”AjaxPro.AjaxHandlerFactory, AjaxPro.2″/>

 </httpHandlers>

此地是故来报httpHandlers的。

吓了,收工,这样一个未

相关文章