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

來源:互聯網
上載者:User
asp.net 導 讀:
通過一個例子說明了如何利用Page.IsPostBack屬性,來取代ASP中的RS(Remote Scripting)技術,以實現在不重新整理當前頁面的情況下和伺服器端進行通訊.
--------------------------------------------------------------------------------
  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實現方法。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。