网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.将半角"转换为中文"的.
.实现聊天室在线人员无刷新所需要.
.最大限度优化你的Asp性能.
.在 Web 页上使用条件数值格式.
.改进 ASP 应用程序中的字符串处理.
.仅用xsl和asp实现分页功能.
.分行模块,自动识别英文和型号数.
.ASP中实现的类似URLEncode的编码.
.一个BBS的源代码(三).
.用一套论坛程序架设多个论坛.
.Microsoft 脚本编码器Script Enc.
.在ASP中使用智岛网格控件全过程.
.在ASP+中使用Cookie.
.用模板建立动态ASP页.
.避免asp的SQL的执行效率低.
.关于图片与文本同存在数据库中的.
.提高ASP性能的最佳选择(续三).
.ASP实现多语言支持.
.在ASP中使用事务控制.
.ASP如何跳出本次进入下一次循环.

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

发表日期:2000-10-19


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实现方法。
呵呵,希望大家从上面的这个例子中有所收获。

上一篇:大部分ADO的错误码对应的含义 人气:10979
下一篇:利用Page.IsPostBack属性保持用户输入的Framework 人气:14072
浏览全部Remote Scripting的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐