来自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实现 *** 。
呵呵,希望大家从上面的这个例子中有所收获。
本文目录一览: 1、昨天看了异次元骇客,非常震惊,比接受我们是外星人的子民更震惊,只是比喻哦 !我想寻找高端科幻的小说, 2、《异次元杀阵》、《异次元骇客》、《黑客帝国》、《盗梦空间》和《源代码》...
脸上最薄的肌肤莫过于眼周肌肤,眼周肌肤也是最脆弱最容易出现问题的部位,30 的年纪,黑眼圈、眼袋、细纹等各种眼部肌肤问题纷纷出现,如何解决这些问题成为了护肤必修的重要课题,选一款适合自己的眼霜也就变得...
伏特加:Vodka是以马铃薯和谷物为原料,发酵、蒸馏而成。 特点:酒度为40°-50°,甚至更高,如著名的生命之水有96°。酒液一般为无色透明、无异味。起源于东欧国家,是前苏联的国酒。 绝对伏...
孩子听的童话是有一定的教育意义的,所以并不是说仅仅是给孩子讲述一个美妙的故事,那么应该怎么看待童话故事呢,友谊长存小编就来说说吧。 家长应该怎样看待童话? 作为家长,我们有责任去帮助年幼的孩子筛选...
对付ToB产物,仅仅基于用户需求来设计产物架构是远远不足的。B端产物处事的是有着几年,甚至几十年打点积淀的企业,必需依靠必然的理论常识来支撑系统的设计筹划。 上篇文章《CRM系统的整体成果设计》基于...
12月9日上午9:00,2020新冠病毒灭活口罩新品发布暨安徽盒子健康医用N95口罩正式投产发布会在安徽合肥瑶海区正式开幕,会议由全国卫生产业企业管理协会转化医学产业分会主办,安徽盒子健康科技有限公司...