Ajax在.NET中与Server控件的交互C#

ajax|server|交互|控件

注: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,然后输出。

1 [Ajax.AjaxMethod]
2 public int AddAjaxTable(string name)
3 {
4  //输入一个字符串,然后更新
5  SqlConnection conn = new SqlConnection( System.Configuration.ConfigurationSettings.AppSettings["connectionString"] );
6  SqlCommand cmd = new SqlCommand("insert into ajaxTable(name) values(’"+name+"’)", conn);
7  cmd.Connection.Open();
8  int result = cmd.ExecuteNonQuery();
9  conn.Dispose();
10  cmd.Dispose();
11  return result;
12 }
13
14 [Ajax.AjaxMethod]
15 public string GetAjaxTable()
16 {
17  //这个方法就是拿到datagrid生成出来的html
18  SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["connectionString"]);
19  SqlCommand cmd = new SqlCommand("select * from ajaxTable order by id", conn);
20  SqlDataAdapter ap = new SqlDataAdapter( cmd );
21  DataSet ds = new DataSet();
22  ap.SelectCommand.Connection.Open();
23  ap.Fill( ds, "db" );
24
25  conn.Dispose();
26  cmd.Dispose();
27
28  //实例化一个datagird类并设置好数据源
29  DataGrid dg = new DataGrid();
30  dg.DataSource = ds.Tables["db"];
31  dg.DataBind();
32
33  //实例化一个HtmlTextWriter的类
34  System.Text.StringBuilder strb = new System.Text.StringBuilder();
35  System.IO.StringWriter sw = new System.IO.StringWriter( strb );
36  System.Web.UI.HtmlTextWriter htw = new HtmlTextWriter( sw );
37
38  //执行控件的render并输出到HtmlTextWriter里
39  dg.RenderControl( htw );
40
41  string s = strb.ToString();
42
43  return s;//最后就是返回这个html啦
44 }

  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_defaultClients cript" content="Javas cript">
 <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5";>
<s cript language="javas cript" src="default.js"></s _fcksavedurl=""default.js"></s" cript>
</HEAD>
<body >
<form id="Form1" method="post" runat="server">
 <INPUT type="text" id="AddTextBox" maxlength="10"><INPUT type="button" value="添加" >
 <table>
  <tr>
   <td id="UCtd"></td>
  </tr>
 </table>
</form>
</body>
</HTML>

时间: 2024-10-28 16:22:54

Ajax在.NET中与Server控件的交互C#的相关文章

Ajax在.NET中与Server控件的交互

ajax|server|交互|控件 利用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串里的) <

ajax.asp.net中关于UpdateProgress控件的使用!

问题描述 是这样的,我想做一个检测用户名是否被占用的功能当刷新updatepanel的时候能,在UpdateProgress中能显示一个加载图片和loading....但是当检测事件完成后能不能修改updateprogress中显示的文字!请教网上的这种效果是如何实现的,经常见到的就是注册页面上的这些效果!还有就是UpdateProgress在页面上是通过DIV标签来定位的,这样我在页面上放置的时候总是不能和文本框放在一行上,应该如何解决,用表格或则层把他们分隔开?求教中,谢谢! 解决方案 解决

在客户端脚本中为UpdateProgress控件编程

在本教程中,将通过编写 ECMAScript (JavaScript) 代码来扩展具有客户端行为的 UpdateProgress 控件. 您的代码将使用属于 Microsoft AJAX Library 的一部分的 PageRequestManager 类. 在 UpdateProgress 控件中,您将添加一个使用户能够取消异步回发的按钮. 作为此任务的一部分,您将使用客户端脚本来显示或隐藏进度消息. 本主题假定您了解 UpdateProgress 控件.如果不了解,请查看主题UpdatePr

ASP.NET AJAX入门系列(11):在多个UpdatePanle中使用Timer控件

本文将使用Timer控件更新两个UpdatePanel控件,Timer控件将放在UpdatePanel控件的外面,并将它配置为UpdatePanel的触发器,翻译自官方文档. 1.添加一个新页面并切换到设计视图. 2.如果页面没有包含ScriptManager控件,在工具箱中的AJAX Extensions标签下双击ScriptManager控件添加到页面中. 3.双击Timer控件添加到Web页面中.Timer控件可以作为UpdatePanel的触发器不管它是否在UpdatePanel中. 4

探讨ASP.NET 2.0中的Web控件改进技术

asp.net|web|控件 ASP.NET 2.0并没有抛弃1.1版本中的任何现有控件,而是增加了一组新的控件;同时还引入了若干新的控件开发技术.本系列文章将对这些内容展开全面探讨. 一. 引言 到目前为止,你可能已经了解了大量的ASP.NET 2.0新特征-母版页面,主题,提供者,等等--所有这样内容都相当精彩;但是,你是否了解到有关定制Web控件开发方面的重大变化?这正是我在本文中所想讨论的.如果你已经从事于控件开发,那么,我想本文所描述的ASP.NET 2.0中的新的改进特征会立即应用于

asp.net中使用 Repeater控件拖拽实现排序并同步数据库字段排序_实用技巧

数据库表中有一个单位表,里面包括ID.Name.Order等字段,现在有个后台管理功能,可以设置这些单位在某些统计表格中的先后显示顺序,于是想到用拖拽方式实现,这样操作起来更简便. 使用了GifCam软件做了一个示例动画,效果如下图所示: 于是就动手起来,发现jquery.ui中提供sortable函数,可用于排序,界面中从数据库绑定的单位使用Repeater控件,下面简单介绍下主要步骤: 1.项目中使用到的jquery-1.7.2.min.js和jquery-ui.min.js请点击进行下载,

ASP.NET2.0中的AccessDataSource控件

access|asp.net|控件 ASP.NET 2.0包含了AccessDataSource控件,用来从Access数据库中将数据提取至ASP.NET 2.0(.aspx)页面.这个控件拥有的属性很简单.AccessDataSource的最重要的属性是DataFile属性,用来指向硬盘上MDB文件的路径.AccessDataSource拥有的其他属性还有SelectCommand,用来设定一个显示需要返回的结果集(表和列)的语句.SelectCommand必须使用SQL语法来定义. 在VWD

ASP.NET 2.0中使用multiview控件

asp.net|控件     在asp.net 2.0中,增加了许多新的控件和功能,大大方便了开发者的开发.这次要讲解的是在asp.net 2.0中新增的multiview控件的使用.所谓multiview控件,实际上是有点象在c/s开发中很常见的tabcontrol控件,可以在一个页面中,放置多个"view"(我们称为选项卡),比如可以用multiview控件,可以让用户在同一页面中,通过切换到每个选项卡,从而看到要看的内容,而不用每次都重新打开一个新的窗口.本文,将以visual

在ASP.NET中使用AdRotator控件(转)

asp.net|控件 在ASP.NET中使用AdRotator控件 通过使用ASP.NET携带的AdRotator服务器控件,ASP.NET中的广告可以随时显示出来.本文中,我们将看到两个例子,它们使用这个控件在一个页面上显示广告. 使用AdRotator服务器控件有以下几个步骤: 第一步 创建一个包含着广告细节的XML文件,比如说叫art008_ads.xml,它包含以下元素: ●ImageUrl-包含将被显示图象的URL,可以是绝对路径,也可以是相对于显示广告的页面的相对路径.●Naviga