今天花了一天的时间学习了ajax的用法,以前做项目管理这个项目时用过,但是当时开发组长就是让这样用,没有讲什么具体的原理和多的用法,今天就看了一下午的这个ajax,还是很基础的东西,但是我的要求就是要会用,用在什么地方。
首先要在微软官方网站上下载 ASPAJAXExtSetup.msi这个组件。结合 TerryLee 的介绍和例子,我记录一下这个控件的使用。
其实最主要的控件有这么几个:ScriptManager,ScriptManagerProxy,UpdateProgress,
UpdatePanel,Timer 等。我就ScriptManager和UpdatePanel做个介绍。
在一个页面中,只能有一个ScriptManager控件,多了会报错。其中可以有多个UpdatePanel,可以并列使用还可以嵌套使用。用哪儿呢,就是要用到需要数据刷新的那个地方,例如按钮提交数据,需要和服务器交互的地方。用dropdownlist来示范一下.
在同一个页面拖放一个日历控件,然后再拖放一个<asp:ScriptManager ID="ScriptManager1" runat="server" />控件,再就是关键了,拖放<asp:UpdatePanel ID="UpdatePanel1" runat="server">。让后在这里面就可以拖放一个dropdownlist控件,实现的效果就是选择dropdownlist的时候让日历换颜色。 下面是代码:
Code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<script runat="server" >
void DropDownSelection_Change(Object sender, EventArgs e)
{
Calendar1.DayStyle.BackColor =System.Drawing.Color.FromName(ColorList.SelectedItem.Value);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Calendar ID="Calendar1" runat="server" ShowTitle="true"></asp:Calendar>
<div>
Background:
<br />
<asp:DropDownList ID="ColorList"
AutoPostBack="True"
OnSelectedIndexChanged="DropDownSelection_Change"
runat="server">
<asp:ListItem Selected="True" Value="White">
White </asp:ListItem>
<asp:ListItem Value="Silver">
Silver </asp:ListItem>
<asp:ListItem Value="DarkGray">
Dark Gray </asp:ListItem>
<asp:ListItem Value="Khaki">
Khaki </asp:ListItem>
<asp:ListItem Value="DarkKhaki"> D
ark Khaki </asp:ListItem>
</asp:DropDownList>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
这只是一个小小的例子。以下接着是不用这些控件我们怎么实现ajax技术呢?