前两天在网上下了个ajax组件体验了一下,感觉很不错。但后来开始想怎样能让它跟server控件交互呢,例如我上输出一个列表,就只有用js一条一条html的输出吗?不!!现在我说说怎样与
datagrid交互。
注:ajax的.net组件可以到此网下载,我用的是for .net 1.1版本的。http://ajax.schwarz-interactive.de/
1. 在引用中添加引用ajax.dll。(这个很废话)
2.在web.config中建立httphandler(这个当然是在system.web串里的)
<httphandlers>
<add verb="post,get" path="ajax/*.ashx" type="ajax.pagehandlerfactory, ajax" />
</httphandlers>
3.在global的application_start里加上个设置
protected void application_start(object sender, eventargs e)
<
ajax.utility.handlerpath = "ajax";
>
4.新建一个类demomethods,这个类里面提供了更新数据库和输出列表的方法。其实主要思想就是获得控件运行后生成的html,然后输出。
[ajax.ajaxmethod]
public int addajaxtable(string name)
{
//输入一个字符串,然后更新
sqlconnection conn = new sqlconnection( system.configuration.configurationsettings.appsettings["connectionstring"] );
sqlcommand cmd = new sqlcommand("insert into ajaxtable(name) values(’"+name+"’)", conn);
cmd.connection.open();
int result = cmd.executenonquery();
conn.dispose();
cmd.dispose();
return result;
}
[ajax.ajaxmethod]
public string getajaxtable()
{
//这个方法就是拿到datagrid生成出来的html
sqlconnection conn = new sqlconnection(system.configuration.configurationsettings.appsettings["connectionstring"]);\
sqlcommand cmd = new sqlcommand("select * from ajaxtable order by id", conn);
sqldataadapter ap = new sqldataadapter( cmd );
dataset ds = new dataset();
ap.selectcommand.connection.open();
ap.fill( ds, "db" );
conn.dispose();
cmd.dispose();
//实例化一个datagird类并设置好数据源
datagrid dg = new datagrid();
dg.datasource = ds.tables["db"];
dg.databind();
//实例化一个htmltextwriter的类
system.text.stringbuilder strb = new system.text.stringbuilder();
system.io.stringwriter sw = new system.io.stringwriter( strb );
system.web.ui.htmltextwriter htw = new htmltextwriter( sw );
//执行控件的render并输出到htmltextwriter里
dg.rendercontrol( htw );
string s = strb.tostring();
return s;//最后就是返回这个html啦
}
5.然后再建一个default.js文件,用作存放 js方法
function addajax(name)
{
demomethods.addajaxtable(name);
loadgrid();
}
function loadgrid()
{
var cc=document.getelementbyid("uctd");
cc.innerhtml=demomethods.getajaxtable().value;
}
6.建一个default.aspx,在pageload事件里面加个注册的东西
private void page_load(object sender, system.eventargs e)
{
ajax.utility.registertypeforajax(typeof(ajaxtestprjlib.demomethods));
}
7.最后就是default.aspx的html和js了。
<%@ page language="c#" codebehind="default.aspx.cs" autoeventwireup="false" inherits="ajaxtextprjweb._default" %>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en" >
<html>
<head>
<title>default</title>
<meta name="generator" content="microsoft visual studio .net 7.1">
<meta name="code_language" content="c#">
<meta name="vs_defaultclientscript" content="javascript">
<meta name="vs_targetschema" content="http://schemas.microsoft.com/intellisense/ie5">
<script language="javascript" src="default.js"></script>
</head>
<body onload="loadgrid()">
<form id="form1" method="post" runat="server">
<input type="text" id="addtextbox" maxlength="10"><input type="button" value="添加" onclick="javascript:addajax(form.addtextbox.value);">
<table>
<tr>
<td id="uctd"></td>
</tr>
</table>
</form>
</body>
</html>
分享到:
相关推荐
二、Ajax.NET与服务器控件交互 1. ScriptManager:这个控件是ASP.NET AJAX的核心,负责引入必要的JavaScript文件并管理整个页面上的Ajax功能。在页面上添加ScriptManager控件后,其他Ajax功能才能正常工作。 ```...
在ASP.NET中实现Word控件,主要是为了在Web应用程序中提供对Microsoft Word文档的查看、编辑和交互功能。这个过程通常涉及到使用ActiveX控件或Web服务来桥接客户端浏览器和服务器端的Word处理能力。以下是一个关于...
在ASP.NET AJAX中,TreeView控件结合了AJAX技术,提供异步更新功能,提升了用户体验,因为用户无需等待整个页面刷新即可与控件进行交互。 首先,我们要理解ASP.NET AJAX的核心库——ASP.NET AJAX Control Toolkit,...
微软为ASP.NET提供了一个强大的Ajax库——ASP.NET AJAX,它包含在ASP.NET MVC和Web Forms框架中。以下是一些关键组件: 1. **ScriptManager**:这是ASP.NET AJAX的核心组件,负责管理页面上的所有Ajax功能,包括...
【标题】中的“基于AJAX+ASP.NET实现的ASP.NET AJAX Virtual Earth 控件源码例子[081218]”是一个关于使用AJAX(Asynchronous JavaScript and XML)技术和ASP.NET框架,结合Microsoft的Virtual Earth(现已被Bing ...
Timer控件是ASP.NET AJAX Control Toolkit中的一个重要组件,它允许开发者在后台定期触发事件,而无需用户进行任何交互。接下来,我们将深入探讨如何在ASP.NET中使用AJAX和Timer控件。 首先,了解AJAX的基本原理至...
在.NET开发环境中,AJAX的应用极大地提升了用户体验,因为它允许后台与服务器进行异步数据交换,使得用户可以一边浏览页面,一边进行数据交互,而不会打断当前的浏览流程。本篇文章将深入探讨AJAX在.NET中的应用以及...
ASP.NET 下拉多选控件是一种常见的Web开发组件,它允许用户在下拉菜单中选择一个或多个选项。这种控件在数据输入、过滤或设置首选项时非常有用,尤其适用于空间有限或需要简洁界面的设计。在ASP.NET框架中,我们可以...
《ASP.NET+SQLServer网络...通过深入学习和实践《ASP.NET+SQLServer网络应用系统开发与实例》,开发者不仅可以掌握ASP.NET和SQL Server的基本应用,还能提升在大型项目中的开发和协作能力,为职业生涯打下坚实的基础。
在ASP.NET中,可以利用AJAX技术来增强网页的交互性,比如实现Rating控件。 Rating控件是ASP.NET AJAX Control Toolkit中的一个组件,它为用户提供了评价或评分的功能,常见于评论、评分或反馈系统中。这个控件允许...
在这个项目中,ASP.NET将被用来创建用户界面,处理用户请求,与数据库进行交互,并提供动态内容。 SQL Server则是微软的一个关系型数据库管理系统(RDBMS),它提供了数据存储、查询、备份、恢复、安全和性能优化等...
6. **异步更新**:在ASP.NET AJAX环境中,TreeView控件可以与UpdatePanel结合使用,实现局部刷新,提供更好的用户体验。 7. **国际化支持**:中文版的TreeView控件通常包含了中文语言包,使得控件的提示文字和错误...
在ASP.NET中,日历控件(Calendar Control)是一个非常常用的UI组件,它允许用户以图形化的方式选择日期。在本教程中,我们将探讨如何在ASP.NET应用中调用日历控件,并将所选日期赋值给一个文本框。 首先,让我们...
ScriptManagerProxy是ScriptManager的辅助控件,用于在包含母版页的场景下,在内容页中添加对AJAX服务的引用。每个内容页可以有多个ScriptManagerProxy。使用方式与ScriptManager类似: ```html ...
在IT行业中,Ajax(Asynchronous JavaScript and XML)与.NET框架的结合是开发高效、交互性强的Web应用程序的常见技术组合。Ajax技术的核心在于提供异步数据传输,改善用户体验,而.NET框架提供了强大的后端开发支持...
### 高级 ASP.NET AJAX 服务器控件在 .NET Framework 3.5 中的应用 #### 概述 《高级 ASP.NET AJAX 服务器控件》是一本面向专业开发者的书籍,旨在帮助读者掌握如何利用 ASP.NET AJAX 服务器控件构建现代化、交互...
总结来说,Ajax.Net允许开发者在ASP.NET环境中无缝集成Ajax技术,实现无刷新的交互体验,提高网站的响应速度和用户满意度。通过理解Ajax.Net的核心概念和实现机制,以及与其相关的标签知识点,开发者可以更好地利用...
ASP.NET日历控件是微软开发的Web应用程序框架ASP.NET中的一个重要组件,它允许开发者在网页上添加交互式日期选择功能。这个控件为用户提供了一个直观的、易于使用的界面,用户可以通过点击或导航来选择日期,非常...