一个ajax.Net库的使用例子--下拉框联动
来源:互联网 发布:淘宝刷单被骗 编辑:程序博客网 时间:2024/06/15 14:43
Default.aspx.cs
using System;
using System.Data;
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;
namespace AjaxText
{
public partial class _Default : System.Web.UI.Page
{
public ArrayList DataSource = new ArrayList();
protected void Page_Load(object sender, EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(_Default));
}
/// <summary>
/// 初始化数据源
/// </summary>
public void initDataSource()
{
DataSource.Add(new address("湖南", "长沙"));
DataSource.Add(new address("湖南", "衡阳"));
DataSource.Add(new address("湖南", "郴州"));
DataSource.Add(new address("湖南", "岳阳"));
DataSource.Add(new address("广东", "广州"));
DataSource.Add(new address("广东", "清远"));
DataSource.Add(new address("广东", "汕头"));
DataSource.Add(new address("湖北", "武汉"));
DataSource.Add(new address("湖北", "十堰"));
DataSource.Add(new address("湖北", "仙桃"));
DataSource.Add(new address("湖北", "天门"));
}
/// <summary>
/// 获取第一个下拉框的数据。
/// </summary>
/// <returns></returns>
[Ajax.AjaxMethod]
public string GetFirstSelectData()
{
initDataSource();
ArrayList arr = new ArrayList();
foreach (address add in DataSource)
{
if (!arr.Contains(add.strProvince))
{
arr.Add(add.strProvince);
}
}
string result = "";
foreach (string str in arr)
result += str + ";";
if (result.Length > 0)
result = result.Substring(0, result.Length - 1);
return result;
}
/// <summary>
/// 根据省份获取城市。
/// </summary>
/// <param name="province"></param>
/// <returns></returns>
[Ajax.AjaxMethod]
public string GetCitys(string province)
{
initDataSource();
string result = "";
if (province != null && province != string.Empty)
{
foreach (address add in DataSource)
{
if (add.strProvince == province)
result += add.strCity + ";";
}
}
if (result.Length > 0)
result = result.Substring(0, result.Length - 1);
return result;
}
//地址对象实体类
public class address
{
public string strProvince;
public string strCity;
public address(string province,string city)
{
strProvince = province;
strCity = city;
}
}
}
}
using System.Data;
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;
namespace AjaxText
{
public partial class _Default : System.Web.UI.Page
{
public ArrayList DataSource = new ArrayList();
protected void Page_Load(object sender, EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(_Default));
}
/// <summary>
/// 初始化数据源
/// </summary>
public void initDataSource()
{
DataSource.Add(new address("湖南", "长沙"));
DataSource.Add(new address("湖南", "衡阳"));
DataSource.Add(new address("湖南", "郴州"));
DataSource.Add(new address("湖南", "岳阳"));
DataSource.Add(new address("广东", "广州"));
DataSource.Add(new address("广东", "清远"));
DataSource.Add(new address("广东", "汕头"));
DataSource.Add(new address("湖北", "武汉"));
DataSource.Add(new address("湖北", "十堰"));
DataSource.Add(new address("湖北", "仙桃"));
DataSource.Add(new address("湖北", "天门"));
}
/// <summary>
/// 获取第一个下拉框的数据。
/// </summary>
/// <returns></returns>
[Ajax.AjaxMethod]
public string GetFirstSelectData()
{
initDataSource();
ArrayList arr = new ArrayList();
foreach (address add in DataSource)
{
if (!arr.Contains(add.strProvince))
{
arr.Add(add.strProvince);
}
}
string result = "";
foreach (string str in arr)
result += str + ";";
if (result.Length > 0)
result = result.Substring(0, result.Length - 1);
return result;
}
/// <summary>
/// 根据省份获取城市。
/// </summary>
/// <param name="province"></param>
/// <returns></returns>
[Ajax.AjaxMethod]
public string GetCitys(string province)
{
initDataSource();
string result = "";
if (province != null && province != string.Empty)
{
foreach (address add in DataSource)
{
if (add.strProvince == province)
result += add.strCity + ";";
}
}
if (result.Length > 0)
result = result.Substring(0, result.Length - 1);
return result;
}
//地址对象实体类
public class address
{
public string strProvince;
public string strCity;
public address(string province,string city)
{
strProvince = province;
strCity = city;
}
}
}
}
Default.aspx页面的html代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AjaxText._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
//初始化第一个下拉框,从服务端读取数据。
//其实这里应该直接在服务端绑定数据,此处为了演示ajax特地也使用ajax技术绑定数据。
function initSelect1()
{
var Data=_Default.GetFirstSelectData().value
var strData=new String(Data);
var select1=document.getElementById("aa");
select1.options.length = 0;
var arr=strData.split(";");
for(var i=0;i<arr.length;i++)
{
var varItem = new Option(arr[i],arr[i]);
select1.options.add(varItem);
}
}
//第一个下拉框更改选择时,ajax调用服务端方法更新第二个下拉框数据。
function selectchanged()
{
var select1=document.getElementById("aa");
var Data=_Default.GetCitys(select1.value).value;
var strData=new String(Data);
var select2=document.getElementById("bb");
select2.options.length = 0;
var arr=strData.split(";");
for(var i=0;i<arr.length;i++)
{
var varItem = new Option(arr[i],arr[i]);
select2.options.add(varItem);
}
}
</script>
</head>
<body onload="initSelect1()">
<form id="form1" runat="server">
<div>
<select id="aa" onchange="selectchanged()">
<option>unbounded</option>
</select>
<br /><br />
<select id="bb">
<option>unbounded</option>
</select>
</div>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
//初始化第一个下拉框,从服务端读取数据。
//其实这里应该直接在服务端绑定数据,此处为了演示ajax特地也使用ajax技术绑定数据。
function initSelect1()
{
var Data=_Default.GetFirstSelectData().value
var strData=new String(Data);
var select1=document.getElementById("aa");
select1.options.length = 0;
var arr=strData.split(";");
for(var i=0;i<arr.length;i++)
{
var varItem = new Option(arr[i],arr[i]);
select1.options.add(varItem);
}
}
//第一个下拉框更改选择时,ajax调用服务端方法更新第二个下拉框数据。
function selectchanged()
{
var select1=document.getElementById("aa");
var Data=_Default.GetCitys(select1.value).value;
var strData=new String(Data);
var select2=document.getElementById("bb");
select2.options.length = 0;
var arr=strData.split(";");
for(var i=0;i<arr.length;i++)
{
var varItem = new Option(arr[i],arr[i]);
select2.options.add(varItem);
}
}
</script>
</head>
<body onload="initSelect1()">
<form id="form1" runat="server">
<div>
<select id="aa" onchange="selectchanged()">
<option>unbounded</option>
</select>
<br /><br />
<select id="bb">
<option>unbounded</option>
</select>
</div>
</form>
</body>
</html>
使用ajax.net时应该注意的问题:
1.在pageload事件中
Ajax.Utility.RegisterTypeForAjax(typeof(_Default));
这句必须是typeof(命名空间.类名),而不能是this.GetType()等。javascript中调用的时候直接用这里的类名。
2.调用服务端方法后加.value
如_Default.GetCitys(select1.value).value
- 一个ajax.Net库的使用例子--下拉框联动
- 个ajax.Net库的使用例子--下拉框联动
- Ajax联动下拉框的实现例子
- Ajax联动下拉框的实现例子
- Ajax联动下拉框的实现例子
- Ajax联动下拉框的实现例子
- 一个下拉框联动的简单例子
- ajax的下拉框联动
- 一个联动的下拉框
- AJAX联动下拉框
- AJAX 下拉框联动
- Ajax与Struts 联动的下拉框
- 一个FLEX4 二级联动 下拉菜单的例子
- 一个简单的Ajax二级联动下拉菜单
- 一个例子小探Ajax.net的使用
- ajax实例--下拉框联动
- Ajax二级联动下拉框
- ajax实现下拉框联动
- ASP.NET一些常用的实用代码
- 开账计划总表
- Linux 汇编语言开发指南
- hdu 2045 RPG难题
- MVC 各种传值方式
- 一个ajax.Net库的使用例子--下拉框联动
- Weblogic9.2 Stuck Thread Max Time
- DataGridView中绑定DataTable数据及相关操作实现代码
- C语言编程写的一个http下载程序
- 360面临两线作战----手机安全领域硝烟再起
- [zt]软件开发金钥匙——写给毕业生的忠告
- 通过PXE+NFS远程安装FreeBSD
- python print函数格式化输出
- char *与char []的区别