如何实现asp.net二级联动无刷新效果?

ddjiang1115 2010-01-26 05:14:09
如何实现asp.net二级联动无刷新效果?并且数据必须从数据库中取得
...全文
204 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaozhuVSjava 2010-11-23
  • 打赏
  • 举报
回复
楼上有些人回答的相当于没说,我感觉就来凑热闹的 。什么用这个可以,用那个可以。。。用什么谁不知道、????实在一点,会的话贴上来嘛 光说有什么用啊,刷屏啊。。。、
諾临風 2010-01-27
  • 打赏
  • 举报
回复
jQuery 简单易用,开发好~
hunzib 2010-01-26
  • 打赏
  • 举报
回复
做AJAX联动最好放弃微软的控件 这样前台代码也不乱七八糟 (个人建议)
fei997yang 2010-01-26
  • 打赏
  • 举报
回复
可以先看看微软的asp.net ajax
hunzib 2010-01-26
  • 打赏
  • 举报
回复
js文件
function ld() {
var url = "../ajax/addcp.ashx?id=0" + "&t=" + new Date().getTime();
createXmlHttpRequest();
xmlHttp.onreadystatechange = Data;
xmlHttp.open('POST', url, true);
xmlHttp.send(null);
}
var xmlHttp,mgsbox;
function createXmlHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function Data() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
var ResultData = xmlHttp.responseText;
var div = document.getElementById('xgdiv');
div.innerHTML = ResultData;
}
}
}
前台aspx 加入
<body onload="ld();">
hunzib 2010-01-26
  • 打赏
  • 举报
回复
ashx文件
using System;
using System.Web;
using System.Data;
using System.Web.SessionState;

public class addcp : IHttpHandler, IRequiresSessionState
{

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string id = context.Request.QueryString["id"];
string activate = context.Request.QueryString["activate"];
DataTable dt = new DataTable();
System.Text.StringBuilder sb = new System.Text.StringBuilder();
if (context.Request.QueryString["id"] != null)
{
sb.Append("<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\"");
sb.Append("<tr>");
sb.Append("<td>");
if (context.Request.QueryString["id"] == "0")
{
dt = new DataConnect.cpCategory().ParentIDbyCpName("0");
sb.Append("<select name=\"DDLca\" id=\"DDLca\" onchange=\"dd(this.options[this.options.selectedIndex].value)\">");
sb.Append("<option value=\"select\">请选择类别</option>");
foreach (DataRow dr in dt.Rows)
{
sb.Append("<option value=\"");
sb.Append(dr["id"].ToString());
sb.Append("\">");
sb.Append(dr["cp_caname"].ToString());
sb.Append("</option>");
}
sb.Append("</select>");
}
sb.Append("</td>");
sb.Append("<td id=\"selectdiv\">");
if (context.Request.QueryString["id"] != "0")
{
sb.Append("<select name=\"DDLcaTwo\" id=\"DDLcaTwo\">");
sb.Append("<option value=\"select\">请选择类别</option>");
dt = new DataConnect.cpCategory().ParentIDbyCpName(id);
if (dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
sb.Append("<option value=\"");
sb.Append(dr["id"].ToString());
sb.Append("\">");
sb.Append(dr["cp_caname"].ToString());
sb.Append("</option>");
}
sb.Append("</select>");
}
}
else
{
sb.Append("<select name=\"DDLcaTwo\" id=\"DDLcaTwo\">");
sb.Append("<option value=\"select\">请选择类别</option>");
}
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
}
context.Response.Write(sb);
}

public bool IsReusable
{
get
{
return false;
}
}

}
yingshao 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ponymzh 的回复:]
引用 9 楼 seesea125 的回复:
最简单的方法,先实现有刷新的,然后在上面拖一个微软的scriptmanager,updatepanel,就OK了

与我的想法一样!
也是最方便的方法!
[/Quote]

也是最笨的方法,也是效率最差的方法
ponymzh 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 seesea125 的回复:]
最简单的方法,先实现有刷新的,然后在上面拖一个微软的scriptmanager,updatepanel,就OK了
[/Quote]
与我的想法一样!
也是最方便的方法!
seesea125 2010-01-26
  • 打赏
  • 举报
回复
最简单的方法,先实现有刷新的,然后在上面拖一个微软的scriptmanager,updatepanel,就OK了
  • 打赏
  • 举报
回复
^:^
段传涛 2010-01-26
  • 打赏
  • 举报
回复
我的下载里,前几天帮人写的完整代码项目
http://hi.csdn.net/link.php?url=http://community.csdn.net%2F
legu1 2010-01-26
  • 打赏
  • 举报
回复
用AjaxPro或者是anthem都可以
yagebu1983 2010-01-26
  • 打赏
  • 举报
回复
通过webservice+ajax可以实现
  • 打赏
  • 举报
回复
ajax 代码就不贴了 网上一搜到处是
dongpo888 2010-01-26
  • 打赏
  • 举报
回复
AJAX吧
Ilovehero 2010-01-26
  • 打赏
  • 举报
回复
用MagicAjax控件,程序该怎么写还怎么写,把DropDownList放到MagicAjax里就OK了

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧