ASP+中取代ASP的RS(Remote Scripting)技术的Framework

ASP+中取代ASP的RS(Remote Scripting)技术的Framework
Batman
在上面的文章里面我提到了Page.IsPostBack属性的一个应用,可以用来保存用户输入的
信息,下面我将介绍它的另外一个用处,那就是取代ASP中的RS(Remote Scripting)技术。
至于RS的基本概念和用法我已经在asp版里面有很多介绍了,它主要的优势就是在不刷新
当前页面的情况下和服务器端进行通信。但是由于它的底层是使用了java技术,所以它用
起来还是显得较为烦琐,下面我就将介绍在ASP+中如何利用Page.IsPostBack来取代RS技术。
    按照我的习惯是喜欢用具体的例子来解释问题,所以这次还是使用一个简单的实例来说明
问题。下面这个例子中,将使用一个Products.aspx程序,它主要有两个服务器端控件(Server-side
control),这是asp+里面引入的新的控件编程方式,一个是一个下拉框控件--'mudCategories',
另外一个是列表框控件--'mudProducts'。这个例子将演示,列表框中的内容将跟随下拉框中内容
的改变而改变,为了大家重现的方便,我将使用SQL Server中自带的数据库例子来实现。

Products.aspx代码如下:

<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.ADO"%>
<script language="VB" runat="server">
Sub Page_Load (SourceObj as Object, EveArg as EventArgs)

If Not Page.IsPostBack Then    
    Dim mudCommand As ADODataSetCommand
    Dim mudConnection As ADOConnection
    Dim dSet As New DataSet
    Dim strSQL as String
    Dim connStr as String
            
    strSQL = "SELECT CategoryID, CategoryName From Categories"
    connStr = "Provider = SQLOLEDB; Data Source=test; Initial Catalog=Northwind; User         ID=sa; password=;"

    mudConnection = New ADOConnection(connStr)        
    mudCommand = New ADODataSetCommand(strSQL,  mudConnection)        
    mudCommand.FillDataSet(dSet, "Categories")            
    mudCategories.DataSource = dSet.Tables("Categories").DefaultView
    mudCategories.DataBind()
End If
End Sub

Sub displayProducts (Source as Object, EveArg as EventArgs)

    Dim mudCommand As ADODataSetCommand
    Dim mudConnection As ADOConnection
    Dim dSet As New DataSet
    Dim strSQL as String
    Dim connStr as String
    
    connStr = "Provider = SQLOLEDB; Data Source=test; Initial Catalog=Northwind; User     ID=sa; password=;"
        
    strSQL = "Select ProductID, ProductName From Products"
    strSQL = strSQL & " WHERE CategoryID = " & mudCategories.SelectedItem.Value
        
    mudConnection = New ADOConnection(connStr)    
    mudCommand = New ADODataSetCommand(strSQL,  mudConnection)        
    mudCommand.FillDataSet(dSet, "Products")            
    mudProducts.DataSource = dSet.Tables("Products").DefaultView
    mudProducts.DataBind()
End Sub
    
</script>
<html>
<form name="mudForm" runat="server">
    
产品目录:
<asp:DropDownList id="mudCategories" runat="server" DataTextField="CategoryName" DataValueField="CategoryID" AutoPostBack="true" OnSelectedIndexChanged="displayProducts"/>
产品: <asp:ListBox id="mudProducts" SelectionMode="Multiple" DataValueField="ProductID" DataTextField="ProductName"  runat="server" />
</html>

    从例子程序可以看到,其中显然是使用了服务器端控件的下拉框OnChange事件配合AutoPostBack和
Page.IsPostBack属性就可以很简单和清晰的实现了以前在asp中烦琐的RS实现方法。
呵呵,希望大家从上面的这个例子中有所收获。

时间: 2024-12-21 09:54:15

ASP+中取代ASP的RS(Remote Scripting)技术的Framework的相关文章

ASP.NET中取代ASP的RS(Remote Scripting)技术的Framework

asp.net 导 读: 通过一个例子说明了如何利用Page.IsPostBack属性,来取代ASP中的RS(Remote Scripting)技术,以实现在不刷新当前页面的情况下和服务器端进行通信. -------------------------------------------------------------------------------- Page.IsPostBack属性的一个应用,可以用来保存用户输入的 信息,下面我将介绍它的另外一个用处,那就是取代ASP中的RS(Re

Remote Scripting技术的实现

Remote Scripting (RS)老早以前我就一直在说这个技术名词了,它到底是个什么东东了,其实RS是一种远程调用你的ASP页面(当然是调用你指定的URL中的ASP页面了)中的某个函数或者方法的技术.该技术主要有三大优点:I.你能够优化你每次从客户端到服务端的一个来回数据流程II.你能够在不同的ASP页面中重用(就是多次使用)同一个函数或则方法III.当你连接到远程的ASP页面时不会刷新你的当前正在浏览的页面上面是它的三大特点,下面讲讲具体的过程.RS让你直接调用(或则说建立一个到服务端

在ASP 中实现ASP.Net 的DataGrid 功能(转载)

asp.net|datagrid 自从用贯了.Net的DataGrid就再也懒得去用ASP画表格了,于是想了一个折中的办法,访照DataGrid的功能写了一个TBGrid 类,这样可以轻松的重用代码.比起每次都得重复劳动方便多了.希望能给用得到的人带去一些方便.用法很简单,看后面的例子便一目了然了.有什么不完善的地方希望大家有和我讨论.<%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Programming By

远程脚本调用(Remote Scripting) -增强asp交互性,提高asp响应的一大利器

一. 综述.Remote Scripting(简称RS)是微软采用java applet扩充asp功能的一项技术,RS技术给予了开发人员在同一页面组合客户,服务器两端功能的能力.在动态网页领域中,以往是采用vbscript,javascript在客户端处理用户界面,做一些提交(submit)前的预处理工作,要与服务器端发生交互的话,必须将整个form内数据提交到服务器端,服务器端接收到提交的数据来做一些处理,再把处理结果返回到客户端. 如果采用RS技术,客户端程序与服务器端发生交互就可以绕过表单

在Asp中使用存储过程 数值类型值

存储过程 在Asp中使用存储过程 为了提高Asp程序的效率,有时需要在Asp中使用使用Sql Server的存储技术,下面简单作一个介绍. 存储过程的建立 这里只简单介绍如何在Sql Server的企业管理器中如何建立存储过程: (1)打开企业管理器Enterprise manager (2)选择服务器组(SQL Server Group).服务器.数据库(Database)以及相就的数据库,鼠标右击对应数据库下的Stored Procdures项,在弹出的菜单中选择New Stored Pro

数据库-ASP中的&amp;amp;lt;asp:Repeater&amp;amp;gt;控件问题

问题描述 ASP中的<asp:Repeater>控件问题 各位大神们好,我在项目中使用asp:Repeater控件,去显示我数据库里面的数据,可是运行程序的时候显示: 我把代码给大家看一下,请大家帮我看看是哪里出了错误 (1)前台页面数据绑定: 序号 I级机构 II级机构 III级机构 <%#Eval("Id") %>> <%#Eval("Csk_no.Cfk_no.First_kind_name") %>> <

在Asp中使用存储过程

为了提高Asp程序的效率,有时需要在Asp中使用使用Sql Server的存储技术,下面简单作一个介绍.存储过程的建立 这里只简单介绍如何在Sql Server的企业管理器中如何建立存储过程: (1)打开企业管理器Enterprise manager (2)选择服务器组(SQL Server Group).服务器.数据库(Database)以及相就的数据库,鼠标右击对应数据库下的Stored Procdures项,在弹出的菜单中选择New Stored Procedure,在StoredProc

Remote Scripting进阶教程---引用 ASP 页作为对象

为了使得用 remote scripting 调用 ASP 页上的方法更方便一些,您可以在客户脚本中创建一个包含服务器方法页的对象引用.这使得用户可以使用标准 object.method( ) 语法去调用用户已在自己的服务器页上显露的方法.将某个 ASP 页作为对象加以引用 在客户脚本中,调用 RSGetASPObject 方法,将您希望作为对象加以引用的 URL 和 ASP 页的名字传递给它.RSGetASPObject 方法返回一个对象引用.用下面的语法:ASPobj = RSGetASPO

asp中的rs.open与conn.execute的区别说明_应用技巧

rs.open sql,conn:如果sql是delete,update,insert则会返回一个关闭的记录集,在使用过程中不要来个rs.close在文件最后再写rs.close 中间可以来多个记录集rs1.open sql1,conn,最后一块关闭记录集:rs.close rs1.close conn.execute(sql) 如果sql是delete,update,insert则会返回一个关闭的记录集,在使用过程中不要来个rs.close在文件最后再写rs.close 中间可以来多个记录集r