当前位置:首页 > 网络编程 > WEB编程 > ASP.net > Ajax在.NET中与Server控件的交互

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

点击次数:16 次 发布日期:2008-11-27 00:46:03 作者:源代码网
源代码网推荐
【导读】本文解释如何利用ajax组件实现能让它跟server控件交互,并以一个输出一个列表实例讲解,实现与datagrid的交互。

源代码网整理以下

源代码网整理以下利用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,然后输出。

源代码网整理以下

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  DataSetds = 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.然后再建一个http://www.zzchn.com/edu/20070914/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="http://www.zzchn.com/edu/20070914/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>

源代码网整理以下这样,就能使用datagrid来输出表格了。总体思路其实还是比较简单的。


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华