Ajax.net 在Web(Asp.net)中的使用及对数组的处理





以下在.net1.1中:

1.添加对AjaxPro.dll的引用 2.在web.config 中的<system.web>中添加配置:  <httpHandlers>  <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>   </httpHandlers>

如果是.net2.0则只需要引用AjaxPro.2.dll  

.在web.config 中的<system.web>中添加配置:

 

<system.web> <httpHandlers> <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/> </httpHandlers>

意思是所有的ajaxpro/*.ashx请求都由Ajax.PageHandlerFactory处理,而不是由默认的System.Web.UI.PageHandlerFactory处理程序工厂来处理。

注意在Page_Load中写入下面这句

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

其中AjaxText为当前窗体cs中的类名

例:

aspx页面

<script type="text/javascript"> function GetMsg() { var v1 = parseInt(document.getElementById('txt1').value); var v2 = parseInt(document.getElementById('txt2').value); WebApplication1.AjaxText.GetString(v1,v2,ShowMsg); } function ShowMsg(receive) { alert(receive.value); } function TransferLis() { var p = WebApplication1.AjaxText.GetStringList([1,2,3],[4,5,6]).value; for(i=0;i

<%@ Page language="c#" Codebehind="AjaxText.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.AjaxText" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

<HTML>

	<HEAD>

		<title>AjaxText</title>

		<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">

		<meta name="CODE_LANGUAGE" Content="C#">

		<meta name="vs_defaultClientScript" content="JavaScript">

		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">

		<script type="text/javascript">

		   function GetMsg()

		   {

		      var v1 = parseInt(document.getElementById('txt1').value);

		      var v2 = parseInt(document.getElementById('txt2').value);

		      

		      WebApplication1.AjaxText.GetString(v1,v2,ShowMsg);

		   }

		   function ShowMsg(receive)

		   {

		       alert(receive.value);

		   }

		   function TransferLis()

		   {

		      var p =  WebApplication1.AjaxText.GetStringList([1,2,3],[4,5,6]).value;

		      for(i=0;i<p.length;i++)

		      {

		         alert(p[i]);

		      }

		   }			  

		</script>

	</HEAD>

	<body MS_POSITIONING="GridLayout">

		<form id="Form1" method="post" runat="server">

			<FONT face="宋体">

			<input type="text" id="txt1"/>

			 <input type="text" id="txt2"/>

			 

			<input type="button" id="btntest" value="beatme" οnclick="TransferLis();"/>

			</FONT>

		</form>

	</body>

</HTML>

CS代码:

sing System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;



namespace WebApplication1

{

	/// <summary>

	/// AjaxText 的摘要说明。

	/// </summary>

	public class AjaxText : System.Web.UI.Page

	{

		private void Page_Load(object sender, System.EventArgs e)

		{

			// 在此处放置用户代码以初始化页面

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

		}



		/// <summary>

		/// 得到两个整数之和

		/// </summary>

		/// <param name="txt1"></param>

		/// <param name="txt2"></param>

		/// <returns></returns>

		[AjaxPro.AjaxMethod]

		public int GetString(int txt1,int txt2)

		{

			int result = txt1 + txt2;

			return result;

		}

		/// <summary>

		/// 数组和

		/// </summary>

		/// <param name="alist"></param>

		/// <param name="blist"></param>

		/// <returns></returns>

		[AjaxPro.AjaxMethod]

		public int[] GetStringList(int[] alist,int[] blist)

		{

			int[] newresult = new int[3];

			for(int i=0;i<alist.Length;i++)

			{

				newresult[i] = alist[i]+blist[i];

			}

			return newresult;

		}



		#region Web 窗体设计器生成的代码

		override protected void OnInit(EventArgs e)

		{

			//

			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。

			//

			InitializeComponent();

			base.OnInit(e);

		}

		

		/// <summary>

		/// 设计器支持所需的方法 - 不要使用代码编辑器修改

		/// 此方法的内容。

		/// </summary>

		private void InitializeComponent()

		{    

			this.Load += new System.EventHandler(this.Page_Load);

		}

		#endregion

	}

}

<script type="text/javascript"> function GetMsg() { var v1 = parseInt(document.getElementById('txt1').value); var v2 = parseInt(document.getElementById('txt2').value); WebApplication1.AjaxText.GetString(v1,v2,ShowMsg); } function ShowMsg(receive) { alert(receive.value); } function TransferLis() { var p = WebApplication1.AjaxText.GetStringList([1,2,3],[4,5,6]).value; for(i=0;i

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值