当前位置:主页   - 电脑 - 网站开发 - ASP
ASP+中取代ASP的RS(Remote Scripting)技术的Framework
来源:网上收集   作者:未知   更新时间:2009-01-19
收藏此页】    【字号    】    【打印】    【关闭
来自Active.com.cn
 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 IfEnd SubSub 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实现方法。
呵呵,希望大家从上面的这个例子中有所收获。


----------------------------------------------------------------------
 作  者:Batman


其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明