Ajax定义为“Asynchronous JavaScript + XML”的简称,也就是异步的JavaScript和XML处理。从原理上看,主要是Ajax可以通过调用HttpRequest实现与服务器的异步通讯,并最终在网页中实现丰富友好的用户界面 Ajax使用初步,配置步骤 1.把Ajax.dll copy到应用系统bin目录下,然后在工程引用中引用Ajax.dll,如果没有的话可以下载
/Files/singlepine/Ajax.rar
2.配置web.config,添加如下信息
<
httpHandlers
>
<
add
verb
="POST,GET"
path
="ajax/*.ashx"
type
="Ajax.PageHandlerFactory, Ajax"
/>
</
httpHandlers
>
3.假设应用系统叫Document,目录格式为Pages/AjaxTest 4.在Pages/AjaxTest下建立cs文件AjaxMethod.cs,添加如下方法
//
[Ajax.AjaxMethod]
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public
static
string
GetNIVNumber(
string
str)
{ return str; }
5.在Pages/AjaxTest下建立页面AjaxForm.aspx
<
HTML
>
<
HEAD
>
<
title
>
AjaxForm
</
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
language
="javascript"
>
function testAjax(owner, item, evt) { var first = document.getElementById( " txtfirst " ); AjaxMethod.GetNIVNumber(first.value,callback_GetNIVNumber); } function callback_GetNIVNumber(res) { var obj = document.getElementById( " txtsecond " ); obj.value = res.value; }
</
script
>
</
HEAD
>
<
body
MS_POSITIONING
="GridLayout"
>
<
form
id
="Form1"
method
="post"
runat
="server"
>
<
INPUT
style
="Z-INDEX: 101; LEFT: 208px; POSITION: absolute; TOP: 40px"
type
="button"
value
="Button"
onclick
="testAjax();"
>
<
asp:TextBox
id
="txtfirst"
style
="Z-INDEX: 102; LEFT: 40px; POSITION: absolute; TOP: 40px"
runat
="server"
></
asp:TextBox
>
<
asp:TextBox
id
="txtsecond"
style
="Z-INDEX: 103; LEFT: 40px; POSITION: absolute; TOP: 72px"
runat
="server"
></
asp:TextBox
>
</
form
>
</
body
>
</
HTML
>
protected
System.Web.UI.WebControls.TextBox txtfirst;
protected
System.Web.UI.WebControls.TextBox txtsecond;
private
void
Page_Load(
object
sender, System.EventArgs e)
{ // 注册,其中Document.Pages.AjaxTest.AjaxMethod为AjaxMethod.cs方法所在的命名空间 Ajax.Utility.RegisterTypeForAjax( typeof (Document.Pages.AjaxTest.AjaxMethod)); }
然后运行就可以了, 实现效果:在第一个textbox中输入内容,点击button,就把内容显示到第二textbox中。这只是一个简单的示例,还可以修改调用方法,从数据库读取以及更复杂的操作
#
re: Ajax使用初步
2005-11-15 23:28
还有,可以解释一下
<script language="javascript">
function testAjax(owner, item, evt)
{
var first=document.getElementById("txtfirst");
AjaxMethod.GetNIVNumber(first.value,callback_GetNIVNumber);
}
function callback_GetNIVNumber(res)
{
var obj=document.getElementById("txtsecond");
obj.value=res.value;
}
</script>
中的AjaxMethod.GetNIVNumber(first.value,callback_GetNIVNumber); 简称(1)
& function callback_GetNIVNumber(res){} 简称(2)
和 AjaxMethod.cs中的 GetNIVNumber方法 简称(3) 三者间的关系或者它们的执行过程么?
(1)的作用看对象是调用(3),但是看参数又好像调用(2),究竟......?
还有aspx文件中的后台那句话究竟是起什么作用?
初涉ajax,而且基础不是很好,望指教!
#
re: Ajax使用初步
2005-11-15 23:15
小山哥:
你的 4.在Pages/AjaxTest下建立cs文件AjaxForm.cs,添加如下方法
应改为 4.在Pages/AjaxTest下建立cs文件AjaxMethod.cs,添加如下方法
#
re: Ajax使用初步
2005-11-15 23:28
还有,可以解释一下
<script language="javascript">
function testAjax(owner, item, evt)
{
var first=document.getElementById("txtfirst");
AjaxMethod.GetNIVNumber(first.value,callback_GetNIVNumber);
}
function callback_GetNIVNumber(res)
{
var obj=document.getElementById("txtsecond");
obj.value=res.value;
}
</script>
中的AjaxMethod.GetNIVNumber(first.value,callback_GetNIVNumber); 简称(1)
& function callback_GetNIVNumber(res){} 简称(2)
和 AjaxMethod.cs中的 GetNIVNumber方法 简称(3) 三者间的关系或者它们的执行过程么?
(1)的作用看对象是调用(3),但是看参数又好像调用(2),究竟......?
还有aspx文件中的后台那句话究竟是起什么作用?
初涉ajax,而且基础不是很好,望指教!
Feedback
你的 4.在Pages/AjaxTest下建立cs文件AjaxForm.cs,添加如下方法
应改为 4.在Pages/AjaxTest下建立cs文件AjaxMethod.cs,添加如下方法