当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  ASP.NET 2.0 正式版中无刷新页面的开发(示例代码的补充

 ASP.NET 2.0 正式版中无刷新页面的开发(示例代码的补充

点击次数:14 次 发布日期:2008-11-26 14:23:28 作者:源代码网
源代码网推荐      原文请见Leon.Zhou的:http://pfzhou.cnblogs.com/archive/2006/03/31/363342.html
源代码网推荐  
源代码网推荐  下载了示例代码,并转换成VB了,AJAX功能测试成功。但遇到些小问题:
源代码网推荐  Demo1很正常。
源代码网推荐  Demo2按Leon原来的写法testAJAX.aspx.vb中Line 22不成功。所以我直接在IDE环境中,修改button3的OnClientClick属性,见testAJAX.asp的Line 52。测试成功。
源代码网推荐  Demo3按原来的加入客户端属性无法成功,在testAJAX.aspx.vb中第20行并未起作用。不知道是什么原因。 因此我只有加上一个button3来引发客户端事件。
源代码网推荐  这是个很好的例子,值得学习,详细原理说明请见作者的原文。测试时,请在您项目的web.config中添加<add name="NorthWind" connectionString="...相应的数据库连接串...">
源代码网推荐  testAJAX.aspx
源代码网推荐  
源代码网推荐   1<%@ Page Language="VB" AutoEventWireup="false" CodeFile="testAJAX.aspx.vb" Inherits="testAJAX" %>
源代码网推荐   2
源代码网推荐   3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
源代码网推荐   4
源代码网推荐   5<html xmlns="http://www.w3.org/1999/xhtml" >
源代码网推荐   6<head id="Head1" runat="server">
源代码网推荐   7 <title>ASP.NET 2.0 页面提交无刷新演示</title>
源代码网推荐   8 <script type="text/javascript" language ="javascript">
源代码网推荐   9 Function CallServer1()function CallServer1(inputcontrol, context)
源代码网推荐  10 {
源代码网推荐  11 context.innerHTML = "<IMG SRC="http://www.zzchn.com/edu/20080727/images/pie.gif" />Loading";
源代码网推荐  12 arg = "ServerMethod1|" + inputcontrol.value;
源代码网推荐  13 <%= ClientScript.GetCallbackEventReference(Me, "arg", "ReceiveServerData1", "context")%>;
源代码网推荐  14 }
源代码网推荐  15
源代码网推荐  16 Function ReceiveServerData1()function ReceiveServerData1(result, context)
源代码网推荐  17 {
源代码网推荐  18 context.innerHTML = context.id + ":" + result;
源代码网推荐  19 }
源代码网推荐  20
源代码网推荐  21 Function CallServer2()function CallServer2(obj)
源代码网推荐  22 {
源代码网推荐  23 context = gridspan;
源代码网推荐  24 context.innerHTML = "<IMG SRC="http://www.zzchn.com/edu/20080727/images/pie.gif" />数据加载中";
源代码网推荐  25 arg = "ServerMethod2|" + obj.value;
源代码网推荐  26 <%= ClientScript.GetCallbackEventReference(Me, "arg", "ReceiveServerData2", "context")%>;
源代码网推荐  27 }
源代码网推荐  28
源代码网推荐  29 Function ReceiveServerData2()function ReceiveServerData2(result, context)
源代码网推荐  30 {
源代码网推荐  31 context.innerHTML = result;
源代码网推荐  32 }
源代码网推荐  33
源代码网推荐  34 </script>
源代码网推荐  35</head>
源代码网推荐  36<body>
源代码网推荐  37 <form id="form1" runat="server">
源代码网推荐  38 <div>
源代码网推荐  39 <h1>Demo1:html按钮提交数据</h1><br />
源代码网推荐  40 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
源代码网推荐  41 <input id="Button1" type="button" value="提交到Label1" onclick="CallServer1(TextBox1, Label1)"/> 
源代码网推荐  42 <input id="Button2" type="button" value="提交到Label2" onclick="CallServer1(TextBox1, Label2)"/>
源代码网推荐  43 <br />
源代码网推荐  44 <asp:Label ID="Label1" runat="server" Text="Label1:"></asp:Label>
源代码网推荐  45 <br />
源代码网推荐  46 <asp:Label ID="Label2" runat="server" Text="Label2:"></asp:Label>
源代码网推荐  47 </div>
源代码网推荐  48 <hr />
源代码网推荐  49 <div>
源代码网推荐  50 <h1>Demo2:服务器按钮提交数据</h1><br />
源代码网推荐  51 <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
源代码网推荐  52 <asp:Button ID="Button3" runat="server" Text="Button" OnClientClick="CallServer1(TextBox2, Label3);return false;" /><br />
源代码网推荐  53 <asp:Label ID="Label3" runat="server" Text="Label3:"></asp:Label></div>
源代码网推荐  54 <hr />
源代码网推荐  55 <div>
源代码网推荐  56 <h1>Demo3:下拉列表框和gridview绑定数据</h1><br />
源代码网推荐  57 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ connectionStrings:NorthWind %>"
源代码网推荐  58 SelectCommand="select distinct(country) from customers"></asp:SqlDataSource>
源代码网推荐  59 <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ connectionStrings:NorthWind %>"
源代码网推荐  60 SelectCommand="select customerid, companyname, country from customers where country=@Country">
源代码网推荐  61 <SelectParameters>
源代码网推荐  62 <asp:ControlParameter Name="Country" ControlID="DropDownList1" PropertyName="SelectedValue" />
源代码网推荐  63 </SelectParameters>
源代码网推荐  64 </asp:SqlDataSource>
源代码网推荐  65 <div>
源代码网推荐  66 <asp:DropDownList ID="DropDownList1" runat="server" Width="239px"
源代码网推荐  67 DataSourceID="SqlDataSource1" DataTextField="Country" DataValueField="Country">
源代码网推荐  68 </asp:DropDownList>
源代码网推荐  69 <input id="Button4" type="button" value="刷新" onclick="CallServer2(DropDownList1)"/>
源代码网推荐  70 </div>
源代码网推荐  71 <br />
源代码网推荐  72 <span id="gridspan">
源代码网推荐  73 <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource2" CellPadding="4" ForeColor="#333333" GridLines="None">
源代码网推荐  74 <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
源代码网推荐  75 <RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
源代码网推荐  76 <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
源代码网推荐  77 <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
源代码网推荐  78 <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
源代码网推荐  79 <AlternatingRowStyle BackColor="White" />
源代码网推荐  80 </asp:GridView>
源代码网推荐  81 </span>
源代码网推荐  82 </div>
源代码网推荐  83 </form>
源代码网推荐  84</body>
源代码网推荐  85</html>
源代码网推荐  86
源代码网推荐  testAJAX.aspx.vb
源代码网推荐   1
源代码网推荐   2Imports System
源代码网推荐   3Imports System.Data
源代码网推荐   4Imports System.Configuration
源代码网推荐   5Imports System.Web
源代码网推荐   6Imports System.Web.Security
源代码网推荐   7Imports System.Web.UI
源代码网推荐   8Imports System.Web.UI.WebControls
源代码网推荐   9Imports System.Web.UI.WebControls.WebParts
源代码网推荐  10Imports System.Web.UI.HtmlControls
源代码网推荐  11Imports System.IO
源代码网推荐  12Imports System.Globalization
源代码网推荐  13
源代码网推荐  14Partial Public Class testAJAXClass testAJAX
源代码网推荐  15 Inherits System.Web.UI.Page
源代码网推荐  16 Implements ICallbackEventHandler
源代码网推荐  17 Protected Sub Page_Load()Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
源代码网推荐  18 "注册客户端事件处理方法
源代码网推荐  19 "似乎这句并没起作用,因此我别外加了一个button4来引发客户端事件 by AndyDavis
源代码网推荐  20 DropDownList1.Attributes.Add("onchange", "CallServer2(this)")
源代码网推荐  21 "Button3的客户端事件可以直接在IDE中OnClientClick属性中设置,不需要在这里添加 by AndyDavis
源代码网推荐  22 "Button3.Attributes.Add("onclick", "CallServer1(TextBox2, Label3);return false;")
源代码网推荐  23 End Sub
源代码网推荐  24
源代码网推荐  25 Private serverReturn As String
源代码网推荐  26
源代码网推荐  27 Public Function GetCallbackResult()Function GetCallbackResult() As String Implements ICallbackEventHandler.GetCallbackResult
源代码网推荐  28 "为便于查看加载效果,添加延时
源代码网推荐  29 System.Threading.Thread.Sleep(2000)
源代码网推荐  30
源代码网推荐  31 Dim parts() As String = serverReturn.Split("|"c)
源代码网推荐  32 "根据传递的方法名进行调用,并传递相应的参数,目前只支持一个参数
源代码网推荐  33 Return CStr([GetType]().GetMethod(parts(0)).Invoke(Me, New Object() {parts(1)}))
源代码网推荐  34 End Function
源代码网推荐  35
源代码网推荐  36
源代码网推荐  37 Public Sub RaiseCallbackEvent()Sub RaiseCallbackEvent(ByVal eventArgument As String) Implements ICallbackEventHandler.RaiseCallbackEvent
源代码网推荐  38 serverReturn = eventArgument
源代码网推荐  39 End Sub
源代码网推荐  40
源代码网推荐  41 "根据从客户端传来的英文国家名或缩写,翻译成相应的中文国家名
源代码网推荐  42 Public Function ServerMethod1()Function ServerMethod1(ByVal arg As String) As String
源代码网推荐  43 Dim s As String = ""
源代码网推荐  44 Select Case arg.ToLower()
源代码网推荐  45 Case "cn"
源代码网推荐  46 Case "china"
源代码网推荐  47 s = "中国"
源代码网推荐  48 Exit Select
源代码网推荐  49 Case "us"
源代码网推荐  50 s = "美国"
源代码网推荐  51 Exit Select
源代码网推荐  52 Case Else
源代码网推荐  53 s = "未知国家"
源代码网推荐  54 Exit Select
源代码网推荐  55 End Select
源代码网推荐  56 Return s
源代码网推荐  57 End Function
源代码网推荐  58
源代码网推荐  59 "根据从客户端传来的值,对GridView的内容进行更新,并将更新后的GridView的html返回
源代码网推荐  60 Public Function ServerMethod2()Function ServerMethod2(ByVal arg As String) As String
源代码网推荐  61 DropDownList1.SelectedValue = arg
源代码网推荐  62 GridView1.DataBind()
源代码网推荐  63
源代码网推荐  64 Return RenderControl(GridView1)
源代码网推荐  65 End Function
源代码网推荐  66
源代码网推荐  67 Private Overloads Function RenderControl()Function RenderControl(ByVal control As Control) As String
源代码网推荐  68 Dim writer1 As StringWriter = New StringWriter(CultureInfo.InvariantCulture)
源代码网推荐  69 Dim writer2 As HtmlTextWriter = New HtmlTextWriter(writer1)
源代码网推荐  70
源代码网推荐  71 control.RenderControl(writer2)
源代码网推荐  72 writer2.Flush()
源代码网推荐  73 writer2.Close()
源代码网推荐  74
源代码网推荐  75 Return writer1.ToString()
源代码网推荐  76 End Function
源代码网推荐  77End Class
源代码网推荐  78
源代码网推荐  
源代码网推荐  
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


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