明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

ASP.NET中取代ASP的RS(Remote Scripting)技術(shù)的Framework

[摘要]導 讀: 通過一個例子說明了如何利用Page.IsPostBack屬性,來取代ASP中的RS(Remote Scripting)技術(shù),以實現(xiàn)在不刷新當前頁面的情況下和服務(wù)器端進行通信. ------------------------------------------------------...

導 讀: 
通過一個例子說明了如何利用Page.IsPostBack屬性,來取代ASP中的RS(Remote Scripting)技術(shù),以實現(xiàn)在不刷新當前頁面的情況下和服務(wù)器端進行通信. 
--------------------------------------------------------------------------------
  Page.IsPostBack屬性的一個應(yīng)用,可以用來保存用戶輸入的
信息,下面我將介紹它的另外一個用處,那就是取代ASP中的RS(Remote Scripting)技術(shù)。
至于RS的基本概念和用法我已經(jīng)在asp版里面有很多介紹了,它主要的優(yōu)勢就是在不刷新
當前頁面的情況下和服務(wù)器端進行通信。但是由于它的底層是使用了java技術(shù),所以它用
起來還是顯得較為煩瑣,下面我就將介紹在ASP+中如何利用Page.IsPostBack來取代RS技術(shù)。
    按照我的習慣是喜歡用具體的例子來解釋問題,所以這次還是使用一個簡單的實例來說明
問題。下面這個例子中,將使用一個Products.aspx程序,它主要有兩個服務(wù)器端控件(Server-side
control),這是asp+里面引入的新的控件編程方式,一個是一個下拉框控件--'mudCategories',
另外一個是列表框控件--'mudProducts'。這個例子將演示,列表框中的內(nèi)容將跟隨下拉框中內(nèi)容
的改變而改變,為了大家重現(xiàn)的方便,我將使用SQL Server中自帶的數(shù)據(jù)庫例子來實現(xiàn)。

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">
    
產(chǎn)品目錄: 
<asp:DropDownList id="mudCategories" runat="server" DataTextField="CategoryName" DataValueField="CategoryID" AutoPostBack="true" OnSelectedIndexChanged="displayProducts"/>
產(chǎn)品: <asp:ListBox id="mudProducts" SelectionMode="Multiple" DataValueField="ProductID" DataTextField="ProductName"  runat="server" />
</html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   從例子程序可以看到,其中顯然是使用了服務(wù)器端控件的下拉框OnChange事件配合AutoPostBack和
Page.IsPostBack屬性就可以很簡單和清晰的實現(xiàn)了以前在asp中煩瑣的RS實現(xiàn)方法。