<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
<!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 type="text/javascript">
function CallServer(input,context)
{
context.length=0;
context.options[context.length]=new Option("数据读取中","0");
arg = input.value;
<%= callback %>;
}
function rn()
{
var objs=document.getElementById("selnsc");
return objs;
}
function ReceiveServerData(result,context)
{
var selnsc=document.getElementById("selnsc");
selnsc.length=0;
function o=new Function(context);
alert(o);
if(result!="")
{
var arrData = result.split("|");
for (var i = 0; i < arrData.length; i++)
{
var data = arrData[i].split("@");
selnsc.options[selnsc.length]=new Option(data[0],data[1]);
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="ddlnbc" runat="server">
</asp:DropDownList>
<asp:DropDownList ID="ddlnsc" runat="server">
</asp:DropDownList>
<select id="selnsc">
<option></option>
</select>
</div>
</form>
</body>
</html>
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.SqlClient;
public partial class test : System.Web.UI.Page,System.Web.UI.ICallbackEventHandler
{
string result = "";
public string callback = "";
void System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent(String eventArguent)
{
SqlConnection con = db.CreateConnection();
SqlDataAdapter ad = new SqlDataAdapter("select * from shang_cms_smallclass where bigclassname='" + eventArguent + "'", con);
DataSet ds = new DataSet();
ad.Fill(ds);
foreach (DataRow drw in ds.Tables[0].Rows)
{
if (result.Equals(string.Empty))
{
result = drw["smallchinesename"].ToString() + "@" + drw["smallclassname"].ToString();
}
else
{
result = result+"|"+drw["smallchinesename"].ToString() + "@" + drw["smallclassname"].ToString();
}
}
}
string System.Web.UI.ICallbackEventHandler.GetCallbackResult()
{
return result;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bbind();
}
callback = Page.ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData", "rn");
ddlnbc.Attributes.Add("onchange", "javascript:CallServer(ddlnbc ,selnsc)");
}
protected void bbind()
{
SqlConnection con = db.CreateConnection();
SqlDataAdapter ad = new SqlDataAdapter("select * from shang_cms_bigclass", con);
DataSet ds = new DataSet();
ad.Fill(ds);
ddlnbc.DataSource = ds;
ddlnbc.DataTextField = "chinesename";
ddlnbc.DataValueField = "bigclassname";
ddlnbc.DataBind();
}
}