前台代码:
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="AjaxDemo.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<script language="javascript" type="text/javascript" >
//城市------------------------------
function cityResult()
{
var city=document.getElementById("TextBox1");
WebForm1.GetCityList(city.value,get_city_Result_CallBack);
}
function get_city_Result_CallBack(response)
{
if (response.value != null)
{
//debugger;
document.getElementById("DropDownList1").style.display="block";
document.getElementById("DropDownList1").length=0;
var ds = response.value;
if(ds != null && typeof(ds) == "object" && ds.Tables != null)
{
for(var i=0; i<ds.Tables[0].Rows.length; i++)
{
var name=ds.Tables[0].Rows[i].city;
var id=ds.Tables[0].Rows[i].cityID;
document.getElementById("DropDownList1").options.add(new Option(name,id));
}
}
}
else
{
document.getElementById("DropDownList1").style.display="none";
}
return
}
function getData()
{
var province=document.getElementById("DropDownList1");
var pindex = province.selectedIndex;
var pValue = province.options[pindex].value;
var pText = province.options[pindex].text; document.getElementById("<%=TextBox1.ClientID%>").innerText=pText;
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<FONT face="宋体"></FONT><FONT face="宋体"></FONT>
<br>
<asp:DropDownList ID="DropDownList1" runat="server" Width="72px" Height="8px"></asp:DropDownList>
<br>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</form>
</body>
</HTML>后台代码:
using 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;
using AjaxPro;
using System.Data.SqlClient;namespace AjaxDemo
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.DropDownList DropDownList1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
AjaxPro.Utility.RegisterTypeForAjax(typeof(WebForm1));
if (!Page.IsPostBack)
{
this.TextBox1.Attributes["onchange"] = "javascript:cityResult()";
this.DropDownList1.Attributes.Add("OnSelectedIndexChanged", "getData();");
}
}
[AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.Read)]
public DataSet GetCityList(int provinceid)
{
string sql = "select * from a01 where a0101 like '%" + provinceid + "%'"; return GetDataSet(sql); }
public static DataSet GetDataSet(string sql)
{
string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
SqlDataAdapter sda = new SqlDataAdapter(sql, ConnectionString);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}Web.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="database1" value="Server=.;database=database1;uid=sa;pwd=;" />
</appSettings>
<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro" />
</httpHandlers>
……要求:Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
但我一运行有出错的,那位大哥帮忙看下,最终的结果能够运行出来就行,想学习下无刷新技术
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="AjaxDemo.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<script language="javascript" type="text/javascript" >
//城市------------------------------
function cityResult()
{
var city=document.getElementById("TextBox1");
WebForm1.GetCityList(city.value,get_city_Result_CallBack);
}
function get_city_Result_CallBack(response)
{
if (response.value != null)
{
//debugger;
document.getElementById("DropDownList1").style.display="block";
document.getElementById("DropDownList1").length=0;
var ds = response.value;
if(ds != null && typeof(ds) == "object" && ds.Tables != null)
{
for(var i=0; i<ds.Tables[0].Rows.length; i++)
{
var name=ds.Tables[0].Rows[i].city;
var id=ds.Tables[0].Rows[i].cityID;
document.getElementById("DropDownList1").options.add(new Option(name,id));
}
}
}
else
{
document.getElementById("DropDownList1").style.display="none";
}
return
}
function getData()
{
var province=document.getElementById("DropDownList1");
var pindex = province.selectedIndex;
var pValue = province.options[pindex].value;
var pText = province.options[pindex].text; document.getElementById("<%=TextBox1.ClientID%>").innerText=pText;
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<FONT face="宋体"></FONT><FONT face="宋体"></FONT>
<br>
<asp:DropDownList ID="DropDownList1" runat="server" Width="72px" Height="8px"></asp:DropDownList>
<br>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</form>
</body>
</HTML>后台代码:
using 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;
using AjaxPro;
using System.Data.SqlClient;namespace AjaxDemo
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.DropDownList DropDownList1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
AjaxPro.Utility.RegisterTypeForAjax(typeof(WebForm1));
if (!Page.IsPostBack)
{
this.TextBox1.Attributes["onchange"] = "javascript:cityResult()";
this.DropDownList1.Attributes.Add("OnSelectedIndexChanged", "getData();");
}
}
[AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.Read)]
public DataSet GetCityList(int provinceid)
{
string sql = "select * from a01 where a0101 like '%" + provinceid + "%'"; return GetDataSet(sql); }
public static DataSet GetDataSet(string sql)
{
string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
SqlDataAdapter sda = new SqlDataAdapter(sql, ConnectionString);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}Web.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="database1" value="Server=.;database=database1;uid=sa;pwd=;" />
</appSettings>
<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro" />
</httpHandlers>
……要求:Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
但我一运行有出错的,那位大哥帮忙看下,最终的结果能够运行出来就行,想学习下无刷新技术
解决方案 »
- iframe中的页面获取外面的参数
- 有没有什么类,只要任何一个页面加载都要经过那个类啊 ,而且这类还能取到加载页面的Url
- 急急急,请教个数据库问题和一个方法的思路。
- 如何做网站的广告管理???????
- 求一正则表达式
- 我想要实现这样一个模糊查询,可是应该怎样写sql语句才能将我所选的项的数据绑定到datagrid
- ◆◇◆ 求,支持 HTML 标记的文本编辑器。 ◆◇◆
- !!!!!!!!!!!!!!!!!!!!!!!!!求一个正则表达式
- 请问asp.net中的全局变量如何设置?(在哪设置)
- 请教如何固定查询出来结果的表头
- 、了解XP、TDD等软件开发方法,并能使用相应工具辅助开发
- 在线调查系统的取值问题?or你有更好的思路?
A(Select)请求后,发出Ajax请求,后台产生B(Select)的全部html代码,由前台
document.getElementById('B').outerHTML = htmls;
这样快
可以直接使用。
public DataSet GetCityList(int provinceid)
{
string sql = "select * from a01 where a0101 like '%" + provinceid + "%'"; return GetDataSet(sql); }
改成[AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.Read)]
public A01[] GetCityList(int provinceid)
{
string sql = "select * from a01 where a0101 like '%" + provinceid + "%'"; return ConvertDataSet2A01(GetDataSet(sql)); }
地址:http://www.win-day.com.cn/InfoView/Article_237262.html
目前出现的错误:
function cityResult()
{
var city=document.getElementById("TextBox1");
WebForm1.GetCityList(city.value,get_city_Result_CallBack);
}错误:'WebForm1'未定义
要如何处理呢,
WebForm1.GetCityList(city.value,get_city_Result_CallBack);
这行是否调用后台的GetCityList函数呢,但后台的GetCityList只有一个参数,要如何理解
或者说要怎样才能使这段程序正常运行
<asp:TextBox id="txt_UserName" runat="server" onfocus="ClearErrMsg()" onblur="CheckUser()" Width="150px"autocomplete="off"></asp:TextBox><span id="ErrMsg"></span>
脚本
function CheckUser()
{
var _usernameObj = document.getElementById("txt_UserName");
var _username = _usernameObj.value;
if (_username == null || _username == "")
{
return;
}
//打开系统正忙的提示
showBusy(true);
SDPriceWeb.RegNetUser.Ajax_HasUser(_username,get_check_Result_CallBack);
}
function get_check_Result_CallBack (response)
{
//关闭系统正忙的提示
showBusy(false);
if (response.value == true)
{
document.getElementById("ErrMsg").innerHTML=" <img src=./Images/Err.gif > <font color=red>对不起,用户名重复</font>";
}
else
{
document.getElementById("ErrMsg").innerHTML=""
}
}后台代码====================================page load里面注册
AjaxPro.Utility.RegisterTypeForAjax(typeof(SDPriceWeb.RegNetUser));具体后台代码
#region 检查用户是否重名的ajax 方法 [AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.Read)]
public bool Ajax_HasUser (string _UserName)
{
//检查用户名是否重名的 sql 语句
string sqlstring = "select * from Tb_UsersNet where UserName = '" + _UserName + "'";
try
{
DataSet ds = new DataSet();
ds = DbHelperSQL.Query(sqlstring); if(ds.Tables[0].Rows.Count != 0)
{
return true;
}
else
{
return false;
}
}
catch
{
return true;
} }
#endregion
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;
using System.Text.RegularExpressions;namespace SDPriceWeb
{
/// <summary>
/// RegNetUser 的摘要说明。
/// </summary>
public class RegNetUser : System.Web.UI.Page
{
在吗,可否留下即时通讯呢(QQ或者MSN),有问题向您请教
可否给个完整的代码 [email protected] 谢谢
但我还是想把数据查询出来找绑定到相关的控件,就是我上面的例子
强烈建议使用 ajax contrl toolkit 中的控件.
非常不错