ASP实用大全

合集下载

ASP技巧集合

ASP技巧集合

技巧集合1.让ImageButton控件背景透明的方法<asp:Button ID="ImageButton1" runat="server" style="background:url(); cursor:hand;" BorderWidth="0" Text="进入系统" />靠的就是background:url()这句代码2.TextBox控件自动完成技巧TextBox 控件有什么新鲜事?嗯!有个看似很小但却常来困扰的小改良,就是“自动完成”(AutoComplete)。

何谓自动完成呢?也就是TextBox 会记忆用户曾经输入过文字,当下次再次输入时就会自动提示相关字词,最常见的是用户登录网站时就会自动带出帐号和密码。

这个功能在最早被发明时大家觉得很方便很好用,但随着信息安全意识的加强,这个功能有时不但不讨人喜欢,反而有点令人厌恶,为什么呢?现在无论是在家中、网吧还是公司,多人共享一台计算机的机会很多,而也是由于TextBox 的自动完成在作祟的缘故,他人要看你的E-Mail 甚至假借您的帐号登录网页并非难事,只要在TextBox 中选取你的帐号后,密码通常会一并自动带出。

关于这个恼人的问题,我接连被朋友问道该如何解决?在 2.0 的TextBox 控件内置的AutoCompleteType 属性可以轻易解决这个问题,只要将TextBox 的AutoCompleteType 设置为“Disable”后,自动完成提示便完全不会出现。

中div定位<table><tr><td style="position: relative;"><asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>//按钮<asp:Button ID="Button3" runat="server" Text="Button" OnClick="Button3_Click" /> <div id="div1" runat="server" style="z-index:1; display:none; position: absolute; left: 0px; top: 20px;"></div></td></tr><tr><td></td></tr></table>如果想控制一个层显示,但是还不想这个层把页面撑开,那么就要设置这个层的position:absolute(绝对定位)。

15种asp使用技巧(中文版)

15种asp使用技巧(中文版)

15种asp使用技巧(中文版)技巧1:给应用层文件使用GLOBAL.ASA技巧2:从产品源代码中移去HTML注释技巧3:多个Response.write声明技巧4:使用<OBJECT>标志例示对象技巧5:尽可能的使用本地(局部)变量技巧6:避免多维数组技巧7:避免公用(全局)变量技巧8:使用文字路径技巧9:使用"Dictionary"对象技巧10:充分利用浏览器的回退功能技巧11:避免使用服务器端变量技巧12:使用"option explicit"技巧13:将采集到的值拷贝到本地(局部)变量当中技巧14:谨慎使用session对象技巧15:做性能测试*技巧1:给应用层文件使用GLOBAL.ASA将文件载入GLOBAL.ASA中的一个应用层数组中,而不是通过使用ASP文件系统对象在页面上读取文件。

GLOBAL.ASA可用于指定事件脚本,也可用于声明拥有session或应用程序范围的对象。

它不直接显示给用户,而是存储应用层事件的信息和对象。

然后通过页面就可以指向存有数据的应用层数组。

这就意味着每有一个服务器端请求就读一次文件,不是每个用户每页读一次。

你可以运行一个独立的ASP文件去刷新应用层数组的内容,同时你也可以考虑使用dictionary对象(见技巧9)。

这个技巧可以大大加快你的系统速度。

那么将如何实现该技巧呢?如果你是一个脚本编写人员,必须使用文件系统对象读取文件放入一个数组或一个dictionary对象中。

然后在GLOBAL.ASA中读取文件并且把数组(放有你读取的文件内容)或dictionary对象放到应用层声明中。

这样就可让用户在数组或dictionary对象中存取信息,而不必每次通过一个ASP请求去提交信息。

但也许你会想“如果缓存中的内容需要更新又该怎么办呢?我敢打赌不会用到。

”其实不然。

如果缓存中的内容需要更新,你可以调用一个包含有可执行应用程序锁定命令脚本的仅管理员可存取的ASP文件,在数组或dictionary对象中更新缓存信息,最后执行应用程序锁定命令。

ASP函数大全

ASP函数大全
IsDate函数:判断某一变量是否为或者可以转化为日期表达式
IsEmpty函数:判断变量是否为空
IsNull函数:判断表达式中是否包含有效数据
IsNumeric函数:判断表达式的值是否为数字
Is_object_函数:判断表达式的值是否为某一对象
VarType函数:返回指定变量的子类型
CCur函数:将表达式转化为Currency子类型
CDate函数:将日期表达式转化为Date子类型
CSng函数:将表达式转化为Single数值子类型
Asc函数:返回与字符串首字母相对应的ANSI字符代码(~)
Oct函数:返回八进制的字符串
Hex函数:返回十六进制的字符串
格式化函数
TypeName函数:返回指定变量子类型的信息
对话框函数
MsgBox函数:弹出含有提示信息的对话框
InputBox函数:弹出可输入数据的对话框
脚本引擎函数
ScriptEngine函数:返回一个代表当前所使用的脚本语言的字符串
ScriptEngineBuildVersion函数:返回所使用的脚本引擎的编译版本号
实例: <%=Date%>
返回结果: 9/9/00
DateAdd()
函数返回一个被改变了的日期。
表达式 DateAdd(timeinterval,number,date)
允许数据类型:
timeinterval is the time interval to add;
number is amount of time intervals to add;
表达式 FormatCurrency(Expression [, Digit [, LeadingDigit [, Paren [, GroupDigit]]]])

ASP十大常用代码

ASP十大常用代码

ASP十大常用代码第一节:注册系统注册几乎是每个网站都要使用的,去论坛要注册,聊天要注册,几乎无处不注册,所以注册是所有ASP应用程序中最常见的。

第二节:留言薄互联网最大的特点是互动性,让网友在留言薄上留下自己的意见能使网站的人气值上升不少。

第三节:调查系统利用网络进行一些调查是非常常见的,轻轻一点投下自己一票,因此有一个调查系统能为网站增色不少。

第四节:购物车购物车这个名字取自超级市场的购物推车,不过这个小小的推车却是每个购物网站必备的。

第五节:计数器在浏览网页的时侯,常常可以看见一些“当前网站上的人数是xxxx人”的在线人数统计。

第六节:论坛系统论坛可以说是网站中最受网友欢迎的地方,网友可以在这里自由的发表自己的意见,网站人气的高低很大程度上由论坛决定,因此为我们的网站增加一个论坛是必须的。

第七节:聊天室当你独自在Internet上浏览时,你并不是一个孤单的“旅人”,因为每时每刻总有成千上万的人同时在网上浏览,你可以同他们聊聊天,交谈几句,让自己体验一下“网”内存知己、天涯若比邻的感觉第八节:EMail 当你独自在Internet上浏览时,你并不是一个孤单的“旅人”,因为每时每刻总有成千上万的人同时在网上浏览,你可以同他们聊聊天,交谈几句,让自己体验一下“网”内存知己、天涯若比邻的感觉。

第九节:搜索系统一个大型网站内容众多,来访者往往很难找到自己所需要的东西,这时候就需要一个站内搜索来帮助来访者更快的找到索要的资料,所以搜索系统是一个大型网站必备系统。

第十节:分页程序从程序上说分页只是一种小技巧,但确实却是一个非常重要的小技巧,好,少说废话,我们开始吧。

好了以上是我要给大家分别讲解的教程.欢迎大家及时收藏和支持这里先给大家讲解第一节:注册系统(一),设定注册页面的外观:在这个例子中涉及了五个页面,其中有三幅是一般的htm文件,另外的两幅是asp文件,在这里制作利用的工具是frontpage98,但是大部分的asp代码还是要自己输入的:1,设定原来已经注册的用户进入的外观:在这里设置了两个文本框,一个超级链接和两个按钮。

asp常用代码集锦

asp常用代码集锦

ASP中常用代码Cookie的用法://Cookie的用法HttpCookie cookie = new HttpCookie("first"); //第一个Cookie cookie.Expires = DateTime.Now.AddDays(30); //设置Cookie的消失时间,时间为30天cookie.Values["name"] = "lsc"; //设置Cookie的值//name <-->lsc为键值对cookie.Values["password"] = "12345";Response.Cookies.Add(cookie); //将指定的Cookie保存到本机//获取Cookie的值HttpCookie c = (HttpCookie)Request.Cookies["first"];Response.Write(c.Values["name"] + "<br/>");Response.Write(c.Values["password"]);Application 的用法:写在Gloal.asaxvoidApplication_Start(object sender, EventArgs e){// Code that runs on application startup//服务器启动时运行的代码//关于计数器的使用//在此初始化计数器Application["count"] = 0; //当服务器启动时调用,该网站访问数为0开始}写在页面端protected void Page_Load(object sender, EventArgs e) {try{//取出application中的值|Application.Lock();int count = (int)Application["count"];count++;Application["count"] = count; //将此返回服务?器Response.Write("你是第+Application["count"] + "位访客¨a");Application.UnLock();}catch (Exception ex){Response.Write(“<script>alert(“+ex.Message+”)</script>”); }}如果写在页面端,则用户刷新一次,访问人数就增加voidSession_Start(object sender, EventArgs e){// Code that runs when a new session is started//在新会话启动时运行的代码//取出application中的值Application.Lock();int count = (int)Application["count"];count++;Application["count"] = count; //将此返回服务器Response.Write("你是第" + Application["count"] + "位访客");Application.UnLock();}将此写在Global.asax中使得页面只有通过重新访问,访问数才能增加,否则不能增加Lock()和UnLock()的意义是必须是一个加完后,另外一个在加Response的用法:Response用于向页面输出内容和实现页面的重定向Response.Write();Resposne.Redirect("网址")Response.Cookies.Add(); 用于添加CookieRequest的用法:Request用于获取表单的值String name=request.queryString["name"];String name=request.from["name"];String name=request.params["name"]; --最常用的一种方法String name=request["name"];Session的用法:(Session中可以传递各种数据类型的数据也可以传递类)Session用于在各个页面之间传递数据首先是将值存放在Session中:Session["name"] = name;Session["password"] = password;然后获取值:string name = (string)Session["name"];string password = (string)Session["password"];###在实际工作中,Session传递的值一般是一个封装类JavaScript中页面自动跳转的方法:将其添加在中即可实现中的自动跳转<SCRIPT LANGUAGE="JavaScript"><!--function redirect() { //跳转页window.location = "Default.aspx";}timer = setTimeout('redirect()', 5 * 1000); //跳转//--></SCRIPT>在中设置密码框即在TextBox中添加TextMode="password" ---利用中自身的TextBox设置密码框添加TextMode属性关于DropDownList的数据绑定:首先在DropDownList中的事件SelectedIndexChanged中添加:this.Image1.ImageUrl = "img/" + this.DropDownList1.SelectedValue.ToString();1、利用图形界面进行数据绑定,详见数据绑定视频2、利用ArrayList容器进行数据绑定,但是只能是5条一下的数据if (!IsPostBack){ArrayList list = new ArrayList();list.Add("1.jpg");list.Add("2.jpg");list.Add("3.jpg");this.DropDownList1.DataSource = list; //指定数据源this.DropDownList1.DataBind();}3、利用数据库操作进行动态的数据绑定(较为正规的用法)//利用数据库操作进行动态数据绑定if (!IsPostBack){stringstrConn = "server=LSC-BD9E16FDC63\\SQLEXPRESS;database=mldn;Uid=china;Pwd=1 2345678";SqlConnectionsqlConn = new SqlConnection(strConn);sqlConn.Open();SqlCommandcmd = new SqlCommand();mandText = "select * from Images";cmd.Connection =sqlConn;SqlDataAdaptersda = new SqlDataAdapter(cmd);DataTabledt = new DataTable();sda.Fill(dt);this.DropDownList1.DataSource = dt;this.DropDownList1.DataTextField = "imgs"; //添加显示给用户的数据this.DropDownList1.DataValueField = "imgs"; //添加传递给服务器的数据this.DropDownList1.DataBind();}在中利用onClientClick()事件调用JavaScript代码而不用onClick()事件在代码后面添加return false 阻止后面的代码执行在判断姓名文本框、密码框等不能为空的判断时,避免没有添加页面仍然跳转则在每一个判断后面添加一上return false,同时在onClientClick()中添加return javaScript方法CheckBoxList的用法:int count = this.CheckBoxList1.Items.Count;for (int index = 0; index <= count; index++){if (this.CheckBoxList1.Items[index].Selected){Response.Write(this.CheckBoxList1.Items[index].Text);}}RadioButtonList的用法:for (int index = 0; index < this.RadioButtonList1.Items.Count; index++){if (this.RadioButtonList1.Items[index].Selected){Response.Write(this.RadioButtonList1.Items[index].Text);}}Data中的Repeater的用法:主要用于分页首先拖动一个Reoeater控件,然后配置数据源在切换到代码视图,添加相应的模板,其中()模板如下:<HeaderTemplate></HeaderTemplate><ItemTemplate></ItemTemplate> --必写<FooterTemplate></FooterTemplate><AlternatingTemplate></AlternatingTeplate> --隔行显示模板,实现隔行的显示方式对应实例:<form id="form1" runat="server"><div><asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1"><HeaderTemplate><table border="1"><tr><td width="100">图片</td><td width="100">值</td></tr></table></HeaderTemplate><ItemTemplate><table border="1"><tr style=" color:Green"><td width="100"><%# Eval("imgs") %></td><td width="100"><%# Eval("imgsValue")%></td></tr></table></ItemTemplate><AlternatingItemTemplate><table border="1"><tr style=" color:Red"><td width="100"><%# Eval("imgs") %></td><td width="100"><%# Eval("imgsValue") %></td></tr></table></AlternatingItemTemplate><FooterTemplate><table border="1"><tr><td colspan="2">这是一个测试程序!!</td></tr></table></FooterTemplate></asp:Repeater><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:mldnConnectionString %>" SelectCommand="SELECT * FROM [Images]"></asp:SqlDataSource><br /><br /><br /><br /></div></form>ASP中的分页:真分页和假分页假分页:using System;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Data;usingSystem.Data.SqlClient;public partial class page : System.Web.UI.Page{privateintpageNumber = 0;privateintlineCount;public void pages(){stringstrConn = "server=LSC-BD9E16FDC63\\SQLEXPRESS;database=build;Pwd=12345678;Uid=china";SqlConnection conn = new SqlConnection(strConn);conn.Open();SqlCommandcmd = new SqlCommand();cmd.Connection = conn;mandText = "select * from fangyuan";SqlDataAdaptersda = new SqlDataAdapter(cmd);DataTabledt = new DataTable();sda.Fill(dt);PagedDataSourcepds = new PagedDataSource();pds.DataSource = dt.DefaultView;pds.AllowPaging = true; //是否允许分页pds.PageSize = 2; //指定每页显示多少条数据pds.CurrentPageIndex = pageNumber; //指定显示的页码,用该变量控制翻页this.Repeater1.DataSource = pds;this.Repeater1.DataBind();conn.Close();}protected void Page_Load(object sender, EventArgs e){this.pages();stringstrConn = "server=LSC-BD9E16FDC63\\SQLEXPRESS;database=build;Pwd=12345678;Uid=china";SqlConnection conn = new SqlConnection(strConn);conn.Open();SqlCommandcmd = new SqlCommand();cmd.Connection = conn;mandText = "select count(*) from fangyuan";object o = cmd.ExecuteScalar();lineCount = Convert.ToInt32(o);}protected void LinkButton1_Click(object sender, EventArgs e){try{pageNumber = 0;this.pages();}catch (Exception ex){Response.Write(ex.Message);}}protected void LinkButton2_Click(object sender, EventArgs e){try{if (pageNumber< 0){Response.Write("不能再向上翻页了!");}else{pageNumber -= 1;this.pages();}}catch (Exception ex){Response.Write(ex.Message);}}protected void LinkButton3_Click(object sender, EventArgs e) {try{pageNumber = 0;this.pages();}catch (Exception ex){Response.Write(ex.Message);}}protected void LinkButton4_Click(object sender, EventArgs e) {try{pageNumber = 1;this.pages();}catch (Exception ex){Response.Write(ex.Message);}}protected void LinkButton5_Click(object sender, EventArgs e) {try{pageNumber = 2;this.pages();}catch (Exception ex){Response.Write(ex.Message);}}protected void LinkButton7_Click(object sender, EventArgs e) {try{if (pageNumber == (lineCount - 1)){Response.Write("不能再向下翻页了!");}else{pageNumber += 1;this.pages();}}catch (Exception ex){Response.Write(ex.Message);}}protected void LinkButton8_Click(object sender, EventArgs e) {try{pageNumber = lineCount - 1;this.pages();}catch (Exception ex){Response.Write(ex.Message);}}}DataList的用法:(绑定数据的方式与Repeater相同)与Repeater相比较,DataList的功能更强大,可以实现删除,具体用法如下:DataList绑定数据的两种方式:1、利用图形化界面对数据进行绑定2、动态的对数据进行绑定stringstrConn = "server=LSC-BD9E16FDC63\\SQLEXPRESS;database=build;Pwd=12345678;Uid=china";SqlConnection conn = new SqlConnection(strConn);conn.Open();SqlCommandcmd = new SqlCommand();cmd.Connection = conn;mandText = "select * from fangyuan";SqlDataAdaptersda = new SqlDataAdapter(cmd);DataTabledt = new DataTable();sda.Fill(dt);this.DataList1.DataSource = dt;this.DataList1.DataKeyField = "bianhao"; //指定以何种字段为标准 ---关键this.DataList1.DataBind();conn.Close();删除方法:string bianhao = this.DataList1.DataKeys[e.Item.ItemIndex].ToString(); //用于获取对应的编号 ----关键stringstrConn ="server=LSC-BD9E16FDC63\\SQLEXPRESS;database=build;Pwd=12345678;Uid=china";SqlConnection conn = new SqlConnection(strConn);conn.Open();SqlCommandcmd = new SqlCommand();cmd.Connection = conn;mandText = "delete from fangyuan where bianhao='" + bianhao + "'";cmd.ExecuteNonQuery();conn.Close();每删除一次后对数据进行重新绑定,实现更新DXControls外部控件的使用:在使用DXControls时注册代码(放在<% @page 的下面)<%@ Register Assembly="DXControls" Namespace="DXControls" TagPrefix="cc1" %>在复制<cc1:dxtb id="concentdx" runat="server" height="100px" width="450px"></cc1:dxtb>该段代码到.aspx文件中在使用该控件时,必须在工程中导入Bin文件夹,同时该文件夹中必须存在DXControls.dll文件,还应导入dxtb文件夹,里面包含有相应的文件中验证控件的使用1、RequiredFieldValidator必填项验证,如网络上的*为必填项的实现必须对两个属性进行更改:ControlToValidate指定对哪个控件进行验证ErrorMessage当输入错误时显示的错误信息2、RegularExpressionValidator正则表达式验证,如对密码、邮箱等的验证必须对三个属性进行更改:ControlToValidate指定对哪个控件进行验证ErrorMessage当输入错误时显示的错误信息ValidationExpression写出对应的正则表达式3、RangeValidator数字界限验证,如3-100常见的正则表达式的匹配字符串:\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 为匹配邮箱地址防止用户未登录就访问页面的代码:<%If(Session(“name”) == null){Response.Redirect(“Login.aspx”);}%>通过Seesion在用户登录时存值,再每一个页面都判断是否存在Session传递的值,已判断用户是否登录,通常传递类Linq的使用:查询操作://读取配置文件tStudentDataClassesDataContext context =new StudentDataClassesDataContext();//取出数据表中的所有内容System.Data.Linq.Table<student> list = context.GetTable<student>();//按照需求查询var query = from student in list select student;//或者语句的使用var query = from Person in context.Persons where Person.id == 1 || =="lsc" select Person;foreach(var student in query){Response.Write(+"<br />");}删除操作:(先查找再删除)PersonDataClassesDataContext context =new PersonDataClassesDataContext();System.Data.Linq.Table<Person> list = context.GetTable<Person>();var delete = from Person in context.Persons where Person.id==1 select Person; foreach (var Person in delete){//删除操作context.Persons.DeleteOnSubmit(Person);}context.SubmitChanges(); //提交操作Response.Write("删除成功");添加数据操作:PersonDataClassesDataContext context =new PersonDataClassesDataContext();System.Data.Linq.Table<Person> list = context.GetTable<Person>();Person p = new Person();p.id = 1; = "flq";p.password = "flq";context.Persons.InsertOnSubmit(p);//添加数据context.SubmitChanges(); //提交操作修改数据操作:PersonDataClassesDataContext context =new PersonDataClassesDataContext();System.Data.Linq.Table<Person> list = context.GetTable<Person>();var update = from Person in context.Persons where Person.id==4 select Person; foreach (var P in update){ = "wms";P.password = "wms";}context.SubmitChanges();利用Linq遍历数组:利用Linq对容器进行操作:如何利用Linq进行降序排列:以“c”结尾长度不大于5的人名。

asp基础实用资料

asp基础实用资料

录一、关于ASP二、ASP的新功能三、创建ASP页四、使用脚本语言五、使用变量和常量六、使用集合七、ASP内建对象八、向浏览器发送内容九、包含文件十、访问数据库十一、调试ASP脚本十二、维护ASP应用程序的安全ASPActive Server Pages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的Web服务器应用程序。

使用ASP可以组合HTML页、脚本命令和ActiveX组件以创建交互的Web页和基于Web的功能强大的应用程序。

ASP应用程序很容易开发和修改。

HTML编写人员如果您是位HTML编写人员,您将发现ASP脚本提供了创建交互页的简便方法。

如果您曾想从HTML 表格中收集数据,或用顾客的姓名个人化HTML文件,或根据浏览器的不同使用不同的特性,您会发现ASP提供了一个出色的解决方案。

以前,要想从HTML表格中收集数据,就不得不学习一门编程语言来创建一个CGI应用程序。

现在,您只要将一些简单的指令嵌入到您的HTML文件中,就可以从表格中收集数据并进行分析。

您再不必学习完整的编程语言或者单独编译程序来创建交互页。

随着不断掌握使用ASP和脚本语言的技巧,您可以创建更复杂的脚本。

对于ASP,您可以便捷地使用ActiveX组件来执行复杂的任务,比如连接数据库以存储和检索信息。

对ASP脚本的逐步介绍,请参阅ASP教程。

然后您可以再回到这些主题中了解关于编写ASP脚本的详细信息。

有经验的脚本编写人员如果您已经掌握一门脚本语言,如 VBScript、JavaScript或PERL,而且您已经了解使用ASP的方法。

只要安装了符合ActiveX脚本标准的相应脚本引擎,就可以在ASP页中使用任何一种脚本语言。

ASP带有Microsoft Visual Basic Scripting Edition(VBScript)和Microsoft JScript的脚本引擎,这样您可以立即开始编辑脚本。

ASP必须知道的精华代码大全

ASP必须知道的精华代码大全

ASP必须知道的精华代码大全1. oncontextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键<table border oncontextmenu=return(false)><td>no</table> 可用于Table2. <body onselectstart="return false"> 取消选取、防止复制3. onpaste="return false" 不准粘贴4. oncopy="return false;" oncut="return false;" 防止复制5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标7. <input style="ime-mode:disabled"> 关闭输入法8. 永远都会带着框架<script language="javascript"><!--if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页// --></script>9. 防止被人frame<SCRIPT LANGUAGE=javascript><!--if (top.location != self.location)top.location=self.location;// --></SCRIPT>10. <noscript><iframe src=*.html></iframe></noscript> 网页将不能被另存为11. <input type=button value=查看网页源代码onclick="window.location = view-source:+ /'">12. 怎样通过asp的手段来检查来访者是否用了代理<% if Request.ServerVariables("HTTP_X_FORWARDED_FOR")<>"" thenresponse.write "<font color=#FF0000>您通过了代理服务器,"& _"真实的IP为"&Request.ServerVariables("HTTP_X_FORWARDED_FOR")end if%>13. 取得控件的绝对位置//javascript<script language="javascript">function getIE(e){var t=e.offsetTop;var l=e.offsetLeft;while(e=e.offsetParent){t+=e.offsetTop;l+=e.offsetLeft;}alert("top="+t+"\nleft="+l);}</script>//VBScript<script language="VBScript"><!--function getIE()dim t,l,a,bset a=document.all.img1t=document.all.img1.offsetTopl=document.all.img1.offsetLeftwhile a.tagName<>"BODY"set a = a.offsetParentt=t+a.offsetTopl=l+a.offsetLeftwendmsgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置" end function--></script>14. 光标是停在文本框文字的最后<script language="javascript">function cc(){var e = event.srcElement;var r =e.createTextRange();r.moveStart(character,e.value.length);r.collapse(true);r.select();}</script><input type=text name=text1 value="123" onfocus="cc()">15. 判断上一页的来源asp:request.servervariables("HTTP_REFERER")javascript :document.referrer16. 最小化、最大化、关闭窗口<object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"><param name="Command" value="Minimize"></object><object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"><param name="Command" value="Maximize"></object><OBJECT id=hh3classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"><PARAM NAME="Command" value="Close"></OBJECT><input type=button value=最小化 onclick=hh1.Click()><input type=button value=最大化 onclick=hh2.Click()><input type=button value=关闭 onclick=hh3.Click()>本例适用于IE17.<%定义数据库连接的一些常量Const adOpenForwardOnly = 0 游标只向前浏览记录,不支持分页、Recordset、BookMarkConst adOpenKeyset = 1 键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。

asp实用function之大全

asp实用function之大全

''==================取除左右括号============================ Function getReplace(Str)Str = Replace(Str,"(","")Str = Replace(Str,")","")getReplace = Trim(Str)End Function''==================取出数组中字符组成带括号的新字符========= Function getNewStr(tempArr)temp = ""For i = 0 To UBound(tempArr)If temp = "" Thentemp = "(" & tempArr(i) & ")"Elsetemp = temp & ",(" & tempArr(i) & ")"End ifNextgetNewStr = tempEnd Function''==================生成数组放入sql查询语句================== Function getInsql(tempArr)temp = ""if isarray(tempArr) thenfor i = 0 to ubound(tempArr)if temp = "" thentemp = "''" & tempArr(i) & "''"elsetemp = temp & ",''"& tempArr(i) &"''"end ifnextend ifgetInsql = tempEnd Function''================================================''''================字符串处理=======================''''================================================''''截取一定长度的字符串''Str为字符串,length为长度Function cutStr(Str,Length)If len(Str)>Length ThencutStr=left(Str,Length)&"..."ElsecutStr=StrEnd IfEnd Function''格式化文本输出,如空格、换行Function outputStr_BR(str)If str<>"" ThenoutputStr_BR=Server.HTMLEnCode(str)outputStr_BR=Replace(outputStr_BR," ","&nbsp;")outputStr_BR=Replace(outputStr_BR,chr(13),"<br>")ElseoutputStr_BR=""End IfEnd Function''字符安全处理Function SafeStr(str,IfTrim)Dim temptemp=Replace(str,"''","''''")If IfTrim Thentemp=Trim(temp)End IfSafeStr=tempEnd Function''不够宽度用空格填充“&nbsp;”,区分汉字(2个字长)、字母(1个字长)Function FormatLen(str,length)Dim temp,tempLen,itemp=strtempLen=len(str)i=tempLenWhile i>0If len(temp)>0 And Asc(right(temp,1))<0 ThentempLen=tempLen+1End Ifi=i-1temp=left(temp,i)WendIf tempLen<length Thentemp=Replace(Space(length-tempLen)," ","&nbsp;")End IfFormatLen=str&tempEnd Function''返回半字长度Function lLen(str)Dim temp,tempLen,itemp=strWhile Len(temp)>0If Asc(Left(temp,1))<0 ThentempLen=tempLen+2ElsetempLen=tempLen+1End Iftemp=Right(temp,Len(temp)-1)WendlLen=tempLenEnd Function''返回定长的HTML格式空格Function HTMLSpace(length)HTMLSpace=Replace(Space(length)," ","&nbsp;")End Function''替换接收form内提交的字符串Function crequest(inputname)if inputname<>"" thencrequest=replace(trim(request(inputname)),"''","''''") elsecrequest=""end ifEnd Function''替换接收form内提交的字符串,主要为id Function irequest(inputname)irequest=replace(trim(request(inputname)),"''","''''")if irequest="" then irequest = "0"End Function''替换接受翻页的页数Function prequest(pageNumber)Dim tmpPageNumbertmpPageNumber= request(pageNumber)If IsNull(tmpPageNumber) Or tmpPageNumber="" Then prequest = 1ElseIf IsNumeric(tmpPageNumber) Thenprequest = CInt(tmpPageNumber)Elseprequest = 1End IfEnd Function''从字符串str中删除字符串str1function deleteStr(str,str1)dim pospos = Instr(str,str1)if pos >0 thendeleteStr = left(str,pos-1) & right(str,len(str)-pos-len(str1)+1) elsedeleteStr = strend ifend function''str字符串左起补0function leftZero(n,str)Dim zero_tag,zzero_tag = ""for z=0 to n-1zero_tag = zero_tag &"0"nextleftZero = right(zero_tag&str,n)end function''判断手机号码是否合法function isCellphone(str)if len(str)=11 and mid(str,1,1)="1" and mid(str,2,1)="3" then isCellphone = trueelseisCellphone = falseend ifend function''判断email地址是否合法function isValidEmail(email)dim names, name, i, cIsValidEmail = truenames = Split(email, "@")if UBound(names) <> 1 thenIsValidEmail = falseexit functionend iffor each name in namesif Len(name) <= 0 thenIsValidEmail = falseexit functionend iffor i = 1 to Len(name)c = Lcase(Mid(name, i,if InStr("abcdefghijklmnopqrstuvwxyz_-.+", c) <= 0 and not IsNumeric(c) then IsValidEmail = falseexit functionend ifnextif Left(name, 1) = "." or Right(name, 1) = "." thenIsValidEmail = falseexit functionend ifif Left(name, 1) = "+" or Right(name, 1) = "+" thenIsValidEmail = falseexit functionend ifnextif InStr(names(1), ".") <= 0 thenIsValidEmail = falseexit functionend ifif Left(names(1),1) ="+" thenIsValidEmail = falseexit functionend ifif Right(names(1),1) ="+" thenIsValidEmail = falseexit functionend ifi = Len(names(1)) - InStrRev(names(1), ".")if i <> 2 and i <> 3 thenIsValidEmail = falseexit functionend ifif InStr(email, "..") > 0 thenIsValidEmail = falseend ifend function''判断Fax是否合法Public Function IsValidFax(fax)Dim oRegExpSet oRegExp = New RegExpoRegExp.Pattern = "(^0\d{2,3}\-[1-9]\d{2,7}$)|(^[1-9]\d{2,7}$)|(^\(0[1-9]{2,3}\)[1-9]\d{2,7}$)" oRegExp.IgnoreCase = TrueoRegExp.Global = TrueIsValidFax = oRegExp.Test(fax)Set oRegExp = NothingEnd Function''去除字符串中最后一个字符Function eraseLastChr(var_Str,var_character)If IsNull(var_Str) Or var_Str="" TheneraseLastChr = ""ElseIf IsNull(var_character) Or var_character ="" TheneraseLastChr = var_StrElseIf Right(var_Str,1)=var_character TheneraseLastChr = Left(var_Str,Len(var_Str)-1)ElseeraseLastChr = var_StrEnd IfEnd IfEnd IfEnd Function''======小数点前补0Function addZeroPoint(str)tmpPosition = InStr(1,str,".",1)If tmpPosition = 1 Then str = "0" & straddZeroPoint = strEnd function''================================================''''================字符数组处理======================''''================================================''''转换字符串到数组function to_array(str,character) ''change the "xx,xx,xx" to array (xx,xx,xx)if isNull(str) thento_array = emptyelseif trim(str) = "" thento_array = emptyelseto_array = split(str,character)end ifend Function''转换数组到字符串Function to_String(arr,character) ''change the array (xx,xx,xx) to "xx,xx,xx" Dim x,returnStrIf IsArray(arr) ThenFor x=0 To UBound(arr)If returnStr = "" ThenreturnStr = arr(x)ElsereturnStr = returnStr & character & arr(x)End IfNextto_String = returnStrElseto_String = ""End IfEnd Function'' 从数组中删除function removeStr(str,arr) ''delete the string from the arraydim kk = 0redim temp_arr(k)if isArray(arr) thenfor i=0 to ubound(arr)midstr = arr(i)if not midstr = str thenredim preserve temp_arr(k)temp_arr(k) = midstrk = k + 1end ifnextelseremoveStr = arrend ifend function''判断字符串是否在1维数组中function strInArr(str,arr)strInArr = falseif not isarray(arr) thenstrInArr = falseelsefor x=0 to ubound(arr)midstr = trim(arr(x))if midstr = trim(str) thenstrInArr = trueend ifnextend ifend function''判断字符串是否在2维数组中function strInArr2(str,arr) strInArr2 = falseif not isarray(arr) thenstrInArr2 = falseelsefor x=0 to ubound(arr,2)midstr = trim(arr(0,x))if midstr = trim(str) thenstrInArr2 = trueend ifnextend ifend function''得到字符串在1维数组中的位置function indexOfArr(str ,arr) indexOfArr = -1if not isarray(arr) then indexOfArr = -1Elsefor x=0 to ubound(arr)midstr = cstr(arr(x))if CInt(midstr) = CInt(str) thenindexOfArr = xend ifNextend ifend Functionfunction AllindexOfArr(str ,arr) AllindexOfArr = -1if not isarray(arr) thenAllindexOfArr = -1Elsefor x=0 to ubound(arr)midstr = cstr(arr(x))if cstr(midstr) = cstr(str) thenIf tmpPostion = "" ThenAllindexOfArr = xElseAllindexOfArr = AllindexOfArr & "," & xEnd Ifend IfNextend ifend Function''更新数组内的特定位置的字符串内容''arr 为数组,pos为位置,str为新内容function updateArr(arr,pos,str) ''update the array content at special position if pos > ubound(arr) or pos < 0 or not isarray(arr) thenupdateArr = arrelsearr(pos) = strupdateArr = arrend ifend function''把1维数组输出sub writeArr(arr)Dim xif not isarray(arr) thenresponse.write "empty array!!!"elsefor x=0 to ubound(arr)response.write x&":["&trim(arr(x))&"]<br>"nextend ifend sub''删除数组中特定位置的字符串生成新的数组function removeIndex(arr,pos) ''delete one where positioned pos from arr if isarray(arr) thenredim temp_arr(0)dim kk= 0for x = 0 to ubound(arr)midstr = arr(x)if not x = pos thenredim preserve temp_arr(k)temp_arr(k) = midstrk = k + 1end ifnextremoveIndex = temp_arrelseremoveIndex = arrend ifend function''追加数组内容function arrAppend(arr,str)dim temp_arr,arr_lenif isarray(arr) thenarr_len = ubound(arr)redim preserve arr(arr_len+1)arr(arr_len+1) = strarrAppend = arrelseredim temp_arr(0)temp_arr(0) = strarrAppend = temp_arrend ifend function''删除数组中空的记录function deleteNull(arr) ''delete the null value in the arraydim temp_arrKeyword,z,temp_strif isarray(arr) thenfor z=0 to ubound(arr)temp_str = arr(z)if (Not IsNull(temp_str)) And (trim(temp_str) <> "") thentemp_arrKeyword = arrAppend(temp_arrKeyword,trim(temp_str)) end ifnextdeleteNull = temp_arrKeywordelsedeleteNull = arrend ifend function''================================================''''================窗口处理=========================''''================================================''''关闭非模态窗口Function ClosePop()Response.Write "<Script Language=''JavaScript''>"Response.Write "parent.window.close();"Response.Write "</Script>"End Function''================================================''''================警告处理=========================''''================================================''''生成客户端脚本,页面转向Function ForwardTo(URL)Response.Write "<Script Language=''JavaScript''>"Response.Write "top.Main.location.replace(''"&URL&"'');"Response.Write "</Script>"End Function''生成客户端脚本,页面转向Function ForwardListTo(URL)Response.Write "<Script Language=''JavaScript''>"Response.Write "this.parent.List_FRAME.location.href = (''"&URL&"'');" Response.Write "</Script>"End Function''生成客户端脚本,页面转向Function ForwardViewTo(URL)Response.Write "<Script Language=''JavaScript''>"Response.Write "this.parent.View_FRAME.location.href = (''"&URL&"'');" Response.Write "</Script>"End Function''生成客户端脚本,显示提示信息Function ShowMsg(Msg)Response.Write "<Script Language=''JavaScript''>"Response.Write "alert(''"&Msg&"'');"Response.Write "</Script>"End Function''生成客户端脚本,显示提示信息并返回前页Function ShowMsgAndBack(Msg)Response.Write "<Script Language=''JavaScript''>" Response.Write "alert(''"&Msg&"'');"Response.Write "history.back();"Response.Write "</Script>"Response.endEnd Function''生成客户端脚本,显示提示信息并关闭当前窗口Function ShowMsgAndClose(Msg)Response.Write "<Script Language=''JavaScript''>" Response.Write "alert(''"&Msg&"'');"Response.Write "window.close();"Response.Write "</Script>"End Function''生成客户端脚本,显示提示信息并关闭当前模态框架窗口Function ShowMsgAndClosePop(Msg)Response.Write "<Script Language=''JavaScript''>" Response.Write "alert(Response.Write "parent.window.close();"Response.Write "</Script>"End Function''生成客户端脚本,并转移到指定页面Function ShowMsgAndTo(Msg,URL)Response.Write "<Script Language=''JavaScript''>" Response.Write "alert(''"&Msg&"'');"Response.Write "location.href=''"&URL&"'';" Response.Write "</Script>"End Function''生成客户端脚本,返回前页Function PageBack()Response.Write "<Script Language=''JavaScript''>" Response.Write "history.back();"Response.Write "</Script>"End Function''生成客户端脚本,刷新父窗口Function FlashOpener(URL)Dim tempURLtempURL=URLIf tempURL="" ThentempURL="opener.location.href"ElsetempURL="''"&tempURL&"''"End IfResponse.Write "<Script Language=''JavaScript''>"Response.Write "opener.location.replace("&tempURL&");"Response.Write "</Script>"End Function''生成客户端脚本,刷新父窗口(非模态框架窗口)Function FlashPopOpener(URL)Response.Write "<Script Language=''JavaScript''>"If URL="" ThenResponse.Write "parent.ParentFun(''PopOpener.location.reload\(\)'');"ElseResponse.Write "parent.ParentFun(''PopOpener.location.replace\("""&URL&"""\)'');" End IfResponse.Write "</Script>"End Function''生成客户端脚本,刷新父窗口,并且关闭自身Function FlashOpenerAndCloseMe(msg)Response.Write "<Script Language=''JavaScript''>"Response.Write "alert(''"&msg&"'');"Response.Write "window.close();"Response.Write "top.opener.location.reload();"Response.Write "</Script>"End Function''================================================''''================时间日期处理======================''''================================================''''得到标准日期19000101function getDate1()yyyy = cstr(year(now))mm = right("00"&cstr(month(now)),2)dd = right("00"&cstr(day(now)),2)h = right("00"&cstr(hour(now)),2)m = right("00"&cstr(minute(now)),2)s = right("00"&cstr(second(now)),2)getDate1 = yyyy&mm&dd&h&m&send functionfunction getDate(dateStr)if isdate(dateStr) thenyyyy = cstr(year(CDate(dateStr)))mm = right("00"&cstr(month(CDate(dateStr))),2)dd = right("00"&cstr(day(CDate(dateStr))),2)getDate = yyyy&mm&ddelsegetDate = "20000101"end ifend function''得到由时间生成的随机数20060101221022&4位随机数Function getDateTimeSeries()dim yyyy,mm,dd,h,m,s,MyValueyyyy = year(now)mm = right("00"&cstr(month(now)),2)dd = right("00"&cstr(day(now)),2)h = right("00"&cstr(hour(now)),2)m = right("00"&cstr(minute(now)),2)s = right("00"&cstr(second(now)),2)RandomizeMyValue = Int((1000 * Rnd) + 1)getDateTimeSeries = yyyy&mm&dd&h&m&s&"-"&MyValue End Function''得到标准日期1900-01-01function getFormatDate(dateStr)Dim yyyy,mm,ddif isdate(dateStr) thenyyyy = cstr(year(CDate(dateStr)))mm = right("00"&cstr(month(CDate(dateStr))),2)dd = right("00"&cstr(day(CDate(dateStr))),2) getFormatDate = yyyy&"-"&mm&"-"&ddelsegetFormatDate = "2000-01-01"end ifend function''得到标准时间2000-01-01 00:00:00Function getExactTime(str_Date)if isdate(str_date) thengetExactTime = formatdatetime(str_Date,2) & " " & formatdatetime(str_Date,4)elsegetExactTime = "2000-01-01 00:00:00"end ifEnd Function''得到中国时间表达方式function getChineseDate(var_date)yyyy = year(var_date)mm = month(var_date)dd = day(var_date)hh = hour(var_date)mi = minute(var_date)ss = second(var_date)getChineseDate = yyyy&"年"&mm&"月"&dd&"日"&hh&"时"&mi&"分"&ss&"秒" end function''显示两个时间相差多少天,时,分,秒function getDateDiff(var_dateSince,var_dateTill)var_s = DateDiff("s", CDate(var_dateSince), CDate(var_dateTill))var_d = var_s \ 86400if var_d>0 thenvar_s = var_s - 86400*var_d ''如果大于天,那么减去天的秒数getDateDiff = getDateDiff & var_d&"天"end ifif var_h>0 thenvar_s = var_s - 3600*var_h ''如果大于小时,那么减去小时的秒数getDateDiff = getDateDiff & var_h&"小时"end ifvar_m = var_s \ 60if var_h>0 thenvar_s = var_s - 60*var_m ''如果大于分钟,那么减去分钟的秒数getDateDiff = getDateDiff & var_m&"分钟"end ifgetDateDiff = getDateDiff & var_s&"秒"end function''小时下拉列表''intHour 已选项Function sHour(intHour)Dim iFor i=0 To 9If i=intHour ThenResponse.Write "<option value=""0"&i&""" Selected>0"&i&"</option>" ElseResponse.Write "<option value=""0"&i&""">0"&i&"</option>"End IfNextFor i=10 To 23If i=intHour ThenResponse.Write "<option value="""&i&""" Selected>"&i&"</option>" ElseResponse.Write "<option value="""&i&""">"&i&"</option>"End IfNextEnd Function''分钟下拉列表''intMinute 已选项Function sMinute(intMinute)If intMinute=0 ThenResponse.Write "<option value=""00"" Selected>00</option>"Response.Write "<option value=""15"">15</option>"Response.Write "<option value=""30"">30</option>"Response.Write "<option value=""45"">45</option>"ElseIf intMinute=15 ThenResponse.Write "<option value=""00"">00</option>"Response.Write "<option value=""15"" Selected>15</option>"Response.Write "<option value=""30"">30</option>"Response.Write "<option value=""45"">45</option>"ElseIf intMinute=30 ThenResponse.Write "<option value=""00"">00</option>"Response.Write "<option value=""15"">15</option>"Response.Write "<option value=""30"" Selected>30</option>"Response.Write "<option value=""45"">45</option>"ElseIf intMinute=45 ThenResponse.Write "<option value=""00"">00</option>"Response.Write "<option value=""15"">15</option>"Response.Write "<option value=""30"">30</option>"Response.Write "<option value=""45"" Selected>45</option>" ElseResponse.Write "<option value=""00"">00</option>"Response.Write "<option value=""15"">15</option>"Response.Write "<option value=""30"">30</option>"Response.Write "<option value=""45"">45</option>"End IfEnd FunctionFunction FormatEnTime()Dim y, m, d, h, mi, sFormatEnTime = ""''If IsDate(s_Time) = False Then Exit Functiony = cstr(month(now()))Select Case ycase 1y = "Jan "case 2y = "Feb "case 3y = "Mar "case 4y = "Apr "case 5y = "May "case 6y = "June "case 7y = "July "case 8y = "Oct "case 9y = "Sep "case 10y = "Oct "case 11y = "Nov "case 12y = "Dec "end selectFormatEnTime = hour(now())&":"&minute(now())&":"&second(now())&"&nbsp;&nbsp;"&y &day(now())&",&nbsp;" &year(now())End Function''================================================''''================&nbsp; 金额处理======================''''================================================''''转换金额为人民币大写''需要调用以下两个自定义函数toChineseNum,toChineseUnitfunction toChineseAmount(num)dim idim num_strdim big_num,small_numdim num_fordim outputnum,outputnum1outputnum=""num_str=cstr(formatnumber(num,2,true,false,false))big_num=left(num_str,len(num_str)-3)small_num=right(num_str,2)if len(big_num)>13 thenresponse.write "所需要转换成人民币大写的数字超出系统运算范围,系统运算非正常退出....."response.endend iffor i=1 to len(big_num)num_for=right(left(big_num,len(big_num)-i+1),1)if toChineseNum(num_for)="零" and (toChineseUnit(i)="元" or toChineseUnit(i)="万" or toChineseUnit(i)="亿") then ''是标志位outputnum=toChineseUnit(i)&outputnumelseif toChineseNum(num_for)="零" and (toChineseUnit(i)<>"元" and toChineseUnit(i)<>"万" and toChineseUnit(i)<>"亿") then ''不是标志位outputnum=toChineseNum(num_for)&outputnumelse ''其他情况outputnum=toChineseNum(num_for)&toChineseUnit(i)&outputnumend ifnext''将连续的零替换成一个“零”outputnum=replace(outputnum,"零零零零","零")outputnum=replace(outputnum,"零零零","零")outputnum=replace(outputnum,"零零","零")''注意替换的先后顺序,换掉标志位前的零outputnum=replace(outputnum,"零元","元")outputnum=replace(outputnum,"零万","万")outputnum=replace(outputnum,"零亿","亿")''换掉大单位到小单位造成的误差,因为只可能出现万亿,而不可能出现亿万outputnum=replace(outputnum,"亿万","亿")''重新考虑整数为零的情况if big_num="0" thenoutputnum="" ''将整数位设置成空end if''处理小数outputnum1=""if left(small_num,1)<>"0" thenoutputnum1=toChineseNum(left(small_num,1))&"角"elseif big_num="0" thenoutputnum1=""elseoutputnum1="零"end ifend ifif right(small_num,1)<>"0" thenoutputnum1=outputnum1&toChineseNum(right(small_num,1))&"分" end ifif small_num="00" thenoutputnum1=""end iftoChineseAmount=outputnum&outputnum1&"整"if num_str="0.00" thentoChineseAmount="零元整"end ifend function''把传入的数字字符转换成大写,通过函数返回function toChineseNum(strT)select case strTcase "1"toChineseNum="壹"case "2"toChineseNum="贰"case "3"toChineseNum="叁"case "4"toChineseNum="肆"case "5"toChineseNum="伍"case "6"toChineseNum="陆"case "7"toChineseNum="柒"case "8"toChineseNum="捌"case "9"toChineseNum="玖"case "0"toChineseNum="零"end selectend functionfunction toChineseUnit(i)select case icase 1toChineseUnit="元"case 2toChineseUnit="拾"case 3toChineseUnit="佰"case 4toChineseUnit="仟"case 5toChineseUnit="万"case 6toChineseUnit="拾"case 7toChineseUnit="佰"case 8toChineseUnit="仟"case 9toChineseUnit="亿"case 10toChineseUnit="拾"case 11toChineseUnit="佰"case 12toChineseUnit="仟"case 13toChineseUnit="万"end selectend function''================================================'' ''===================文件处理======================'' ''================================================'' ''新建一个目录''返回目录全地址;返回-1表示失败,目录已经存在。

整理Asp的19个基本技巧

整理Asp的19个基本技巧

整理Asp的19个基本技巧1. 现在的日期时间命令是<%=now%> 即可2.ASP取得表格(from)数据输入的方法,是使用一个内置的对象(object)—Requect, 它以get,post而异。

3.若要自己用VB或其它语言编写,.dll文件供ASP使用需将DLL文件注册方可:DOS下输入regsbr32 *.dll4.显示五个重复的句子,字体越来越大<% for i=1 to 5 %><font size=<% =i %> color=#00ffff>快速ASP</font><br><% next %>5.传送字符串到用户端response.write string如:<% response.write "Welcome" %>6.链接到指定的URL地址response.redirect url如:<% response.redirect "homepage.asp"%>*但是如果此.ASP的文件内容已经传送到用户断,则再用redirect时会发生错误。

7.其他语言与ASP的结合:如:早上显示早安,下午显示你好<%if time>+#12:00:00 AM# and time<#12:00:00 PM #thengreeting="早安!"elsegreeting="你好!"end if%><%=greeting %>8.<script>标记在ASP中的应用例:<html><body><% call function1 %></body></html><script runat=server language=javascript>function function1(){...}</script>9.#include 包括其它文件<!--#include virtual|file="filename"-->virtual指虚拟的文件地址。

asp全命令集锦

asp全命令集锦

如果你想学ASP最好先从.NET入门先给你写一些笔记1.允许使用VBscript或Javascript简易Script语言,并可在文件中结合Html;2.无需编译,由WEBserver执行产生;3.与任何ActiveX Script兼容;4.ASP原始代码不会传到客户端,客户端显示的是执行结果。

<Form>表单语法:<Form name="StrName" id="StrId" action="" method="post/get">content</Form>;<Input>类型:<input type=text name="StrName" value="StrValue" size="num" maxlength="num" [disable]>;<input type=password name="StrName" value="StrValue">;<input type=radio name="StrName" value="StrValue" [checked]>;<input type=checkbox name="StrName" value="StrValue" [checked]>;<INPUT type=file NAME="StrName" SIZE="20"><input type=hidden name="StrName" value="StrValue"><input type="submit" name="StrName" value="StrValue"><input type="reset" name="StrName" value="StrValue"><input type="button" name="StrName" value="StrValue"><select name="StrName" [multiple]><option value="StrValue" selected>text[<option>n]</select><textarea name="StrName" rows="num" cols="num">text</textarea><frameset>语法:<frameset rows/cols="num,num/*.."><frame name="StrName" src="StrSrc">[<frame>n [<frameset>..</frameset>]]</frameset><noframe><body>warning!</body></noframe> 无框架提示;控制框架内容:<a href="StrSrc" target="StrFrameName"> 就可以了。

超精华的asp代码大全

超精华的asp代码大全

超精华的asp代码⼤全显⽰页⾯加载时间重复域中的斑马线显⽰字符串前20个字符并在结尾处添加“……”如果动态图⽚为空,使⽤默认图⽚代替如果数据为空,使⽤默认提⽰信息代替显⽰页⾯加载时间页⾯顶部添加下⾯的代码:<%Dim strStartTimeDim strEndTimestrStartTime = Timer '开始时间%>页⾯(同⼀页)的末尾添加:<%' 加载完毕的时间strEndTime = TimerResponse.Write ("页⾯加载时间: ")Response.Write FormatNumber(strEndTime - strStartTime, 4)Response.Write (" 秒.")%>重复域中的斑马线<%'此模块放置在重复域之外Dim RecordCounterRecordcounter = 0%><tr class =<%'将重复域中第⼀个 <tr>标签的CLASS属性代码⽤本模块替换'本模块基于CSS来改变单元格背景⾊,你也可以直接设置背景⾊来实现斑马线RecordCounter = Recordcounter + 1If RecordCounter Mod 2 = 1 ThenResponse.Write "altRow1"ElseResponse.write "altRow2"End If%>显⽰字符串前20个字符并在结尾处添加“……”<%Dim CutShortCutShort = rsYourRecordset.Fields.Item("YourField").ValueResponse.Write LEFT (CutShort, 20) & "........"%>如果动态图⽚为空,⽤默认图⽚代替<%Dim PicShowPicShow = rsShowHide.Fields.Item("shMainPix").ValueIF PicShow <>"" THEN %><img src="<%=rsShowHide.Fields.Item("shMainPix").Value%>"><% ELSE %><img src="StaticPic.gif"><% End If %>如果数据为空,⽤默认提⽰信息代替。

ASP语法大全

ASP语法大全

ASP语法大全.txt我的优点是:我很帅;但是我的缺点是:我帅的不明显。

什么是幸福?幸福就是猫吃鱼,狗吃肉,奥特曼打小怪兽!令堂可是令尊表姐?我是胖人,不是粗人。

ASP 语法大全语句Call[call] name [argumentlist]把控制转移到函数或子程序。

当调用函数或子程序时,Call是可写可不写的。

但是如果你用了Call,那么argumentlist必须用括号括起来。

Const[Public | Private] Const constantname=expression用于申明常数。

你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。

DimDim varname[ ( [subscripts])][, varname [( [subscripts])]...创建一个新变量并且分配存储空间。

DO . . . LOOP语法 1:Do [{While | Until } condition ][statements][Exit Do][statements]LOOP语法 2:Do[statements][Exit Do][statements]LOOP [{While | Until } condition ]当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。

EraseErase array清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。

ExitExit Do退出一个 DO . . . LOOP 循环。

Exit For退出一个 For . . . Next 循环或For Each . . . Next循环。

Exit Function退出一个函数。

Exit Sub退出一个子程序。

For . . . NextFor counter = start To End [Step step][statements][Exit For][statements]Next由loop 计数器指定的次数重复执行statements语句群。

ASP 函数大全及使用技巧

ASP 函数大全及使用技巧

附录一、ASP 函数大全1.函数array()功能:创建一个数组变量格式:array(list)参数:list为数组变量中的每个数值列,中间用逗号间隔例子:<%i=array("1","2","3")%>结果:i被赋予为数组2.函数Cint()功能:将一表达式/其它类型的变量转换成整数类型(int)格式:Cint(expression)参数:expression是任何有效的表达式/其它类型的变量例子:<%f="234"Response.write Cint (f)+2%>结果:236函数Cint()将字符"234"转换成整数234.如果表达式为空,或者无效时,返回值为0;3.函数:Createobject()功能:创建及返回一个ActiveX对象.格式:Createobject(obname)参数bname是对象的名称例子:<%Setcon=Server.CreateObject("ADODB.Connection")%>4.函数Cstr()功能:将一表达式/其它类型的变量转换成字符类型(string)格式:Cstr(expression)参数:expression是任何有效的表达式/其它类型的变量例子:<%s=3+2Response.write"Theresultis:"&cStr(s)%>结果:函数Cstr()将整数5转换成字符"5".5.函数Date()功能:返回当前系统(Server端)的日期格式:Date()参数:无例子<%date()%>结果:05/10/006.函数Dateadd()功能:计算某个指定的时间和格式:dateadd(timeinterval,number,date)参数:timeinterval是时间单位(月,日..);number是时间间隔值,date是时间始点.例子:<%currentDate=#8/4/99#newDate=DateAdd("m",3,currentDate)Response.write newDate%><%currentDate=#12:34:45PM#newDate=DateAdd("h",3,currentDate)Response.write newDate%>结果:11/4/993:34:45PM其中"m"="month";"d"="day";如果是Current Date格式,则,"h"="hour";"s"="second";7.函数Datediff()功能:计算某量个指定的时间差格式:datediff(timeinterval,date1,date2[,firstdayofweek[,firstdayofyear]])参数:timeinterval是时间单位;date1,date2是有效的日期表达式,firstdayofweek,firstdayofyear是任意选项.例子:<%fromDate=#12/25/2004#toDate=#7/26/2005#Response.write "从12/25/2004 到7/26/2005 共有"&_DateDiff("d",fromDate,toDate)&_" 天" %>结果: 从12/25/2004 到7/26/2005 共有213 天8.函数day()功能:返回一个整数值,对应于某月的某日格式:day(date)参数:date是一个有效的日期表达式;例子<%=date(#8/4/99#)%>结果:49.函数formatcurrency()功能:转换成货币格式格式:formatcurrency(expression[,digit[,leadingdigit[,paren[,groupdigit]]]])参数:expression是有效的数字表达式;digit表示小数点后的位数;leadingdigit,paren,groupdigit 是任意选项.例子<%=FormatCurrency(34.3456)%>结果34.3510.函数Formatdatetime()功能:格式化日期表达式/变量格式: FormatDateTime (date[,nameformat])参数:date为有效的日期表达式/变量;nameformat是指定的日期格式常量名称.例子<%= FormatDateTime ("12/23/65",vblongdate)%>结果: 1965年12月23日此表达式已被格式化为日期或时间。

20个经典ASP例子

20个经典ASP例子

20个经典ASP例⼦1.如何⽤Asp判断你的⽹站的虚拟物理路径答:使⽤Mappath⽅法< p align="center" > < font size="4" face="Arial" > < b >The Physical path to this virtual website is:< /b > < /font >< font color="#FF0000" size="6" face="Arial" >< %= Server.MapPath("\")% >< /font > < /p >2.我如何知道使⽤者所⽤的浏览器?答:使⽤the Request object⽅法strBrowser=Request.ServerVariables("HTTP_USER_AGENT")If Instr(strBrowser,"MSIE") < > 0 Then Response.redirect("ForMSIEOnly.htm")Else Response.redirect("ForAll.htm")End If3.如何计算每天的平均反复访问⼈数答:解决⽅法< % startdate=DateDiff("d",Now,"01/01/1990")if strdate < 0 then startdate=startdate*-1avgvpd=Int((usercnt)/startdate) % >显⽰结果< % response.write(avgvpd) % >that is it.this page have been viewed since November 10,19984.如何显⽰随机图象< % dim p,ppic,dpicppic=12randomizep=Int((ppic*rnd)+1)dpic="graphix/randompics/"&p&".gif"% >显⽰< img src=" < %=dpic% >" >5.如何回到先前的页⾯答: < a href=" < %=request.serverVariables("Http_REFERER")% >" >preivous page < /a >或⽤图⽚如: < img src="arrowback.gif" alt=" < %=request.serverVariables("HTTP_REFERER")% >" >6.如何确定对⽅的IP地址答: < %=Request.serverVariables("REMOTE_ADDR)% >7.如何链结到⼀副图⽚上答: < % @Languages=vbs cript % >< % response.expires=0strimagename="graphix/errors/erroriamge.gif"response.redirect(strimagename)% >8.强迫输⼊密码对话框答:把这句话放载页⾯的开头< % response.status="401 not Authorized"response.end% >9.如何传递变量从⼀页到另⼀页答:⽤ HIDDEN 类型来传递变量< % form method="post" action="mynextpage.asp" >< % for each item in request.form % >< input namee=" < %=item% >" type="HIDDEN"value=" < %=server.HTMLEncode(Request.form(item)) % >" >< % next % >< /form >10.为何我在 asp 程序内使⽤ msgbox,程序出错说没有权限答:由于 asp 是服务器运⾏的,如果可以在服务器显⽰⼀个对话框,那么你只好等有⼈按了确定之后,你的程序才能继续执⾏,⽽⼀般服务器不会有⼈守着,所以微软不得不禁⽌这个函数,并胡乱告诉你 (:) 呵呵) 没有权限。

ASP经典实用代码

ASP经典实用代码
ASP经典实用代码
1、数据库连接。
ASP与Access数据库连接:
<%@ language=VBscript%>
<%
dim conn,mdbfile powered by
mdbfile=server.mappath("数据库名称.mdb")
set conn=server.createobject("adodb.connection")
con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服务器名称或IP地址;UID=sa;PWD=数据库密码;DATABASE=数据库名称
%>
DW中用字符串连接代码:
"Driver={Microsoft Access Driver (*.mdb)};DBQ=数据库的绝对路径"
sql="SELECT * FROM data" '更改您的数据库表名
rs.Open sql,conn,1,1
6、获得系统的时间。
<%=now()%>
7、取得来访问的IP。
<%=request.serverVariables("remote_host")%>
8、随机数。
< % next % >
< /form >
12、常用SQL语句整理。
(1) 数据记录筛选:
sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"
sql="select * from 数据表 where 字段名 like ''%字段值%'' order by 字段名 [desc]"

ASP中技巧大全

ASP中技巧大全
A:Microsoft ActiveX 控件是由软件提供商开发的可重用的软件组件。使用 ActiveX 控件,可以很快地在网址、台式应用程序、以
及开发工具中加入特殊的功能。例如,StockTicker 控件可以用来在网页上即时地加入活动信息,动画控件可用来向网页中加入动画特性。
现在,已有 1000 多个商用的 ActiveX 控件。开发控件可以使用各种编程语言,如 C,C++,下一代的Microsoft Visual Basic,
A:在共同网页开发中,加入注释是防止分工被搞混淆或者注释某段代码特殊的含义,加入注释的格式是:
〈!-[注释内容...]--〉
6,Q:怎样测试浏览器并自动装入所需要的网页?
A:目前微软和网景的浏览器并不能完全兼容所有网页,有的网页在某种浏览器中非常漂亮, 而用其它浏览器查看时却一团糟。如
[推荐] ASP中100个为什么
1,Q:怎样把别人网页上的背景音乐保存下来?
A:浏览该网页后,在你的 Windows\Temporary Internet Files 文件夹下可以找到该背景音乐的缓存文件,拷贝出来即可使用。如
果还是找不见该文件,可以打开网页的源文件,找到音乐文件的 URL 路径,用"蚂蚁"等 FTP 软件进行下载。
将当前Web页保存到收藏夹列表:Ctrl+D
打开当前 IE 窗口的一个拷贝:Ctrl+N
停止下载当前网页:Esc
光标迅速移动到网页的开头:Home
光标迅速移动到网页的尾部:End
打开新的地址键入窗口:Ctrl+O
ns = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 3 ))

asp代码大全:ASP必须知道的精华代码大全

asp代码大全:ASP必须知道的精华代码大全
定义数据库连接些常量constadopenforwardonly游标只向前浏览记录不支持分页recordbookmarkconstadopenkey键集游标其他用户对记录说做修改将反映到记录集中但其他用户增加或删除记录不会反映到记录集中支持分页recordbookmarkconstadopendynamic动态游标功能最强但耗资源也最多用户对记录说做修改增加或删除记录都将反映到记录集中支持全功能浏览access不支持constadopenstatic静态游标只是数据个快照用户对记录说做修改增加或删除记录都不会反映到记录集中支持向前或向后移动constadlockreadonly锁定类型默认只读不能作任何修改constadlockpessimistic当编辑时立即锁定记录最安全方式constadlockoptimistic只有在update思路方法时才锁定记录集而在此前其他操作仍可对当前记录进行更改插入和删除等constadlockbatchoptimistic当编辑时记录不会被锁定而更改插入和删除是在批处理方式下完成constadcmdtexth0001constadcmdtable18
asp代码大全:ASP必须知道的精华代码大全
疯狂代码 / ĵ:http://Asp/Article15994.html 1. _disibledevent=><table border _disibledevent=>2. <body _disibledevent=>3. _disibledevent=>4. _disibledevent=>5. <link rel=\"Shortcut Icon\" document.referrer 16. 最小化、最大化、关闭窗口 <object id=hh1 id=\"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11\"> <param name=\"Command\" value=\"Minimize\"></object> <object id=hh2 id=\"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11\"> <param name=\"Command\" value=\"Maximize\"></object>[Page] <OBJECT id=hh3 id=\"clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11\"> <PARAM NAME=\"Command\" value=\"Close\"></OBJECT> <input type=button value=最小化 _disibledevent=><input type=button value=最大化 _disibledevent=><input type=button value=关闭 _disibledevent=>本例适用于IE 17. <% 定义数据库连接些常量 Const adOpenForwardOnly = 0 游标只向前浏览记录不支持分页、Record、BookMark Const adOpenKey = 1 键集游标其他用户对记录说做修改将反映到记录集中但其他用户增加或删除记录不会 反映到记录集中支持分页、Record、BookMark Const adOpenDynamic = 2 动态游标功能最强但耗资源也最多用户对记录说做修改增加或删除记录都将反映 到记录集中支持全功能浏览(ACCESS不支持) Const adOpenStatic = 3 静态游标只是数据个快照用户对记录说做修改增加或删除记录都不会反映到记录集 中支持向前或向后移动 Const adLockReadOnly = 1 锁定类型默认只读不能作任何修改 Const adLockPessimistic = 2 当编辑时立即锁定记录最安全方式 Const adLockOptimistic = 3 只有在Update思路方法时才锁定记录集而在此前其他操作仍可对当前记录进行 更改、插入和删除等 Const adLockBatchOptimistic = 4 当编辑时记录不会被锁定而更改、插入和删除是在批处理方式下完成 Const adCmdText = &H <script language=\"javascript\"><!-function checkNum(str){ str.match(/\\D/)null} alert(checkNum(\"1232142141\")) alert(checkNum(\"123214214a1\"))

asp常用代码大全

asp常用代码大全

asp常用代码大全x1、ASP开始结束符语法:< % %> 文件后缀.asp2、判断语句:判断表单传来的用户名和密码是否正确,并提示If request("username")="admin" thenResponse.write"恭喜,你已经登录成功"ElseResponse.write"对不起,您输入的用户名错误,请返回重输入"End ifIf request("name")="admin" and request("pass")="admin"thenResponse.redirect"admin.asp"ElseResponse.redirect"login.asp"End if3、循环语句:循环显示6条数据库中的记录写法1:for n=1 to 6response.write rs("title")&"< br>"if not rs.eof thenexit forelsers.movenextend ifnext写法二:do while not rs.eofresponse.write rs("title")&"< br>"rs.movenextloop4、常用变量转换函数:Now() 函数返回系统时间Date() 函数返回当前系统日期.CStr(int) 函数转化一个表达式为字符串CInt(string) 将一个表达式转化为数字类型Trim(request("username")) 函数去掉字符串左右的空格Left(rs("title"),10) 函数返回字符串左边第length个字符以前的字符(含第length个字符),一般在限制新闻标题的显示长度的时候用Len(string) 函数返回字符串的长度.5、Access数据库连接代码方法一:db="mydata.mdb" ‘如果放在目录中,就要写明"database/mydata.mdb"Set conn = Server.CreateObject("ADODB.Connection")connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)conn.Open connstr方法二:'如果你的服务器采用较老版本Access驱动,请用下面连接方法db="mydata.mdb" ‘如果放在目录中,就要写明"database/mydata.mdb"Set conn = Server.CreateObject("ADODB.Connection")connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(db)conn.Open connstr6、Recordset对象操作数据库语法(1)打开sql语句指定的表中的数据,把这批数据放入rs对象中取出news表中所有的数据放到rs中Set Rs=Server.CreateObject("ADODB.RecordSet")SqlStr="select * from news"Rs.Open SqlStr,conn,1,1取出news表中前6条数据放到rs中Set Rs=Server.CreateObject("ADODB.RecordSet")SqlStr="select top 6 * from news"Rs.Open SqlStr,conn,1,1(2)循环显示6条rs对象中存在的数据,列表显示不带连接的写法for n=1 to 6response.write rs("title")&"< br>"if not rs.eof thenexit forelsers.movenextend ifnext带连接的写法for n=1 to 6response.write "< a href=show.asp?id=rs("id")>"& left(rs("title"),20)&"< /a>< br>"if not rs.eof thenexit forelsers.movenextend ifnext(3)向数据库添加一条数据代码Set Rs=Server.CreateObject("ADODB.RecordSet")SqlStr="select * from news"Rs.Open SqlStr,conn,1,3 ‘注意这里的1,3代表可以写入的打开数据表Rs.addnewRs("title")=trim(request("title"))Rs("neirong")=request("neirong")Rs("date")=now()rs.update ‘真正写入数据库(4)修改一条记录的代码,通过(2)中的连接传递过来了id数值Set Rs=Server.CreateObject("ADODB.RecordSet")SqlStr="select * from news where id="&request("id")Rs.Open SqlStr,conn,1,3 ‘注意这里的1,3代表可以写入的打开数据表Rs("title")=trim(request("title"))Rs("neirong")=request("neirong")Rs("date")=now()rs.update ‘真正写入数据库(5)删除数据库中一条记录,通过连接传递过来了数据得id数值Set Rs=Server.CreateObject("ADODB.RecordSet")SqlStr="select * from news where id="&request("id")Rs.Open SqlStr,conn,1,3 ‘注意这里的1,3代表可以写入的打开数据表rs.delete ‘删除该条数据7、标准Sql语句写法包括取全部记录Set Rs=Server.CreateObject("ADODB.RecordSet")SqlStr="select * from news"Rs.Open SqlStr,conn,1,1 ‘运行sql语句,把数据提出到rs对象中选取几条数据Set Rs=Server.CreateObject("ADODB.RecordSet")SqlStr="select top 6 * from news"Rs.Open SqlStr,conn,1,1 ‘运行sql语句,把6条数据提出到rs 对象中选取一条指定表中id字段数值的数据Set Rs=Server.CreateObject("ADODB.RecordSet")SqlStr="select * from news where id="&request("id")Rs.Open SqlStr,conn,1,1 ‘运行sql语句,把6条数据提出到rs 对象中添加一条表单传过来的数据替换Set Rs=Server.CreateObject("ADODB.RecordSet")SqlStr="insert into news(title,neirong) values(request("title"), request("neirong"))修改一条指定表中id字段数值的数据,用表单传过来的数据替换Set Rs=Server.CreateObject("ADODB.RecordSet")SqlStr="update news set title=’"&request("title")&"’,neirong=’"&request("内容")&"’ where id="&request("id")Rs.Open SqlStr,conn,1,3 ‘运行sql语句,把数据提出到rs对象中删除一条指定表中id字段数值的数据Set Rs=Server.CreateObject("ADODB.RecordSet")SqlStr="delete from news where id="&request("id")Rs.Open SqlStr,conn,1,3 ‘运行sql语句,把数据提出到rs对象中8、当点击按钮时候表单带着的数据传送到哪个文件,在哪里指定?< form method="post" action="addsave.asp">< input type="text" name="title">< input type="text" name="neirong">< input type="submit" name="Submit" value="提交">< /form>9、表单提交来的数据接收并显示到屏幕上的代码response.write request("name")response.write now()response.write trim(request("name"))10、利用Application对象作计数器的语法在网页的头部加入Application.LockApplication("counter") = Application("counter") + 1Application.UnLock在需要显示计数内容的网页的地方,加入下面的语句response.write Application("counter")11、利用Session对象保护后台管理页面admin.asp,防止未登陆用户进入在网站后台网页admin.asp的头部加入下面的代码,if session(admin)< >"ok" thenresponse.redirect"login.asp"response.endend if在网站后台登陆页的密码验证部分标准写法AdmName=Request.Form("Name")AdmPass=Request.Form("Pass")Set Rs=Server.CreateObject("ADODB.RecordSet")SqlStr="Select * from Admin where name='"&AdmName&"' and pass='"&AdmPass&"'"Rs.Open SqlStr,conn,1,3if Rs.EOF AND RS.BOF thenResponse.Redirect("login.asp")response.endelsesession("admin")="ok"Response.Redirect("admin.asp")response.endend if12、分页代码sql = "select……………………省略了sql语句Set rs=Server.Createobject("ADODB.RECORDSET")rs.Open sql, conn, 1, 1if not rs.eof thenpages = 30 '定义每页显示的记录数rs.pageSize = pages '定义每页显示的记录数allPages = rs.pageCount '计算一共能分多少页page = Request.QueryString("page")'通过浏览器传递的页数’if语句属于基本的排错处理if isEmpty(page) or Cint(page) < 1 thenpage = 1elseif Cint(page) > allPages thenpage = allPagesend ifrs.AbsolutePage = pageDo while not rs.eof and pages > 0'这里输出你要的内容………………pages = pages - 1rs.MoveNextLoopelseResponse.Write("数据库暂无内容!")End ifrs.CloseSet rs = Nothing分页页码连接和跳转页码程序< form Action="v3.asp" Method="GET">< %If Page < > 1 ThenResponse.Write "< A HREF=?Page=1>第一页< /A>"Response.Write "< A HREF=?Page=" & (Page-1) & ">上一页< /A>"End IfIf Page < > rs.PageCount ThenResponse.Write "< A HREF=?Page=" & (Page+1) & ">下一页< /A>"Response.Write "< A HREF=?Page=" & rs.PageCount & ">最后一页< /A>"End If%>< p>输入页数:< input TYPE="TEXT" Name="Page" SIZE="3"> 页数:< font COLOR="Red">< %=Page%>/< %=rs.PageCount%>< /font> < /p>< /form>13、分行列显示图片和产品名称的代码(4列x3行=12个)< %Set Rs=Server.CreateObject("ADODB.RecordSet")SqlStr="select top 12 * from myproduct"Rs.Open SqlStr,conn,1,1i=1%>< table width="90%" border="1" cellspacing="0" sellpadding="0">< tr>< %do while not rs.eof%>< td align="center">< img src="< %=rs("imgurl")%>" width="52" height="120">< br>< %=rs("productname")%>< /td>< % if i mod 4=0 then response.write"< /tr>< tr>"i=i+1rs.movenextlooprs.close%>< /tr>< /table>14、ASP数据库连接之ACCESS-SQLSERVER< %IsSqlData=0 定义数据库类别,0为Access数据库,1为SQL 数据库If IsSqlData=0 ThenAccess数据库datapath ="data/" 数据库目录的相对路径datafile ="data.mdb" 数据库的文件名connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(""&datapath&""&datafile&"") Connstr="DBQ="&server.mappath(""&datapath&""&datafil e&"")&";DRIVER={Microsoft Access Driver (*.mdb)};"ElseSQL数据库SqlLocalName ="(local)" 连接IP [ 本地用 (local) 外地用IP ] SqlUsername ="sa" 用户名SqlPassword ="1" 用户密码SqlDatabaseName="data" 数据库名ConnStr = "Provider=Sqloledb;User ID=" & SqlUsername & "; Password=" & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source=" & SqlLocalName & ";"END IFOn Error Resume NextSet conn=Server.CreateObject("ADODB.Connection")conn.open ConnStrIf Err Thenerr.ClearSet Conn = NothingResponse.Write "数据库连接出错,请检查连接字串。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ASP基础ASP学习前准备对ASP有了一个大概的了解之后就可以开始着手做一些学习前的准备了。

HTML语言ASP以HTML为基础,主体还是HTML代码,只是在需要ASP动态产生的地方加入ASP代码。

ASP 的最终显示结果也是HTML代码,要准确控制ASP的输出结果,也要求对HTML有完全的了解。

要学ASP,HTML的知识绝对不能缺乏。

Script 语言(JavaScript or VBScript)ASP的编程语言可以是VBSCRIPT或JSCRIPT。

你可以根据自己的情况,选用比较熟悉的编程语言。

由于VB广泛的用户群,脱胎于VB的VBSCRIPT被大多数人选用。

Microsoft Script的站点在。

ASP的历史Microsoft最早在IIS3(INTERNET INFORMATION SERVER)引进ASP,是IIS2-$#@62;IIS3升级的最重要部分。

Microsoft提供了一个,直接安装在web服务器上。

提供了一个RoadMap,包含ASP 教程、参考,还有一个完整的ASP网站示例。

只是这时的ASP只有英文版,学习起来不太方便。

在现在的中文版IIS4和PWS4(PERSONAL WEB SERVER)中,ASP升级到了,功能有了很大的提高,并且所有的文档全部是中文,非常实用。

IIS4和PWS4IIS4包含在OPTION PACK FOR NT4中;简体中文WINDOWS98的光盘中,就包含了PWS4。

IIS4和PWS4还可以从网上免费下载。

微软中国首页在,有很多微软官方下载的地址。

其中,广州电信的站点更新最快。

在那里,找到Microsoft Windows NT Option Pack,for Win95的Option Pack就包含PWS4,for NT server的则包含IIS4。

安装很简单,执行setup就可以了。

不过有一点要注意,如果你想要阅读ASP文档,默认安装是没有的。

你必须选择“自定义”安装,选中“ASP文档”才可以。

另外,像ADO文档这些以后经常要用的,也建议你安装。

如果你的硬盘足够大,选择全部安装就是的了。

ASP开发工具Visual InterDev是Microsoft为开发ASP程序专门推出的集成开发环境,功能非常强大。

1、可以对ASP代码进行颜色识别,自动完成代码。

例如你输入“response.”之后,VI会自动把response.的方法列举出来,供你选择。

2、VI中带有一个代码库,调用预先设计好的DTC(DesignTime Co ol),可以非常简单的实现表单处理、数据库操作等等复杂的功能。

3、内置数据库管理工具,可以直接进行数据库查询、修改工作。

4、内有RS(Remote Script),支持服务器、客户机间代码调用。

5、群体开发协作管理功能,支持多人同时开发一个网站。

VI对HTML编辑的支持不大够,在设计页面效果的方面,不能得心应手。

一、什么是ASPASP是Active Server Pages的简称,它是一种在微软公司的WEB服务器IIS(Internet Infomation Server)上开发交互网页的新技术。

微软公司最初在版上使用它以取代CGI。

随着Windows NT在WWW上的使用日益增多,ASP已经成为了开发动态网站、构筑Internet和Intranet应用的最佳选择。

二、在哪里可以找到支持ASP的服务器软件如果你的计算机上装的是Windows NT ,那么你可以通过安装NT的可选包Windows NT Option Pack 来安装,然后你就可以在里使用ASP了。

如果你的操作系统是Windows 98, 那么你可以在Win98光盘里找到一个ADD-ONS目录,下面的PWS目录里面有一个小型WWW服务器软件PWS(PersonalWeb Server),它也可以支持ASP。

如果你想用一用Windows 2000的测试版,那么你可以选装Server版或者Advanced Server版,它们都已经自带了。

三、如何编写ASP你或许用过Javascript在网页里弹出一个小窗口,你是这样做的:<html><head><title>New Page 1</head><body><Script Language=″JavaScript″>alert(″hello!″);</Script></body></html>编写ASP就跟它差不多,同样是在网页文件里加些东西,不像CGI那样你还得写一个EXE文件。

唯一应该注意的是,网页文件应该以.asp作为后缀名,而不能是.htm,这样WWW服务器才能识别它是ASP文件并进行相应的处理。

注意,上面例子中使用了<script>和</script>来把脚本包括起来,以区别普通的Html 标记。

在ASP中,使用另外两个符号来标记ASP代码,它们是“<%”和“%>”。

WWW服务器在处理ASP文件时,一看到$#@60;%就知道ASP的代码开始了,而看到%>就知道代码结束。

通常,我们可以用Notepad来编辑ASP文件,不过因为FrontPage98有强大的网页管理功能,所以最好在Frontpage98里编写ASP文件。

当你要往一个网页里插入ASP代码时,只需选择FrontPage Editor下部的“HTML”标签页就行了。

四、一个例子最后让我们来看一个例子,将它以存盘,它在浏览器里输出三个“Hello ASP”,从这里我们可以体会ASP代码是如何同HTML标记语言结合在一起的。

<html><head><title>New Page 1</head><body><%For i=1 to 3%><font size=″><%=i%>″Hello ASP<%Next%></body></html>请注意,文件后缀一定要为.asp。

五、ASP的处理流程当我们用浏览器查看一个ASP文件时,都发生了些什么呢以上面那个为例,当我们在浏览器里输入 ,浏览器向WWW服务器发出请求,要求返回的内容。

WWW服务器在接到请求后,发现它的后缀为.asp,于是就将这个文件交给专门的ASP处理程序,这个程序扫描,把其中用<%和%>括起来的代码解释并执行,最后把执行结果再传回给WWW服务器,WWW 服务器把结果通过HTTP协议传回到浏览器。

你可以用浏览器的查看源代码功能查看一下,你并没有发现<%和%>标记,因为它们已经在服务器端被处理掉了,浏览器所获得的仅仅是结果,是一些标准的HTML标记。

整个过程如图。

下一讲中,我们将介绍一些Vbscript的基础知识。

它是在ASP中用得最多的脚本语言之一。

ASP基本语法建立ASP程序ASP程序是扩展名为.asp的文本文件,其中包括文字,HTML语句,ASP命令及其他脚本语言。

ASP命令必须放在"<%"与"%>"之间程序注释为了养成良好的编程风格外,适度的注释不可少,ASP提供了两中注释方式1、但引号(),在单引号之后的这行文字都视为注释2、rem 关键词,在REM后的文字,视为注释赋值语句ASP中一般变量的赋值语句是 "="而对象是用 set 语句来赋值的算术运算符运算符功能+ 正号- 负号+ 加法- 减法* 乘法/ 除法\ 整数除法Mod 余数^ 指数关系运算符运算符功能= 等于<>不等于<小于>大于<= 小于等于>=大于等于IS 比较变量是否指向同一对象逻辑运算符ASP的逻辑运算符有:1、NOT 将逻辑值加以反向2、AND “和”或者说“且”运算3、OR “或”运算4、XOR “异或”运算5、EPV 判断两个表达式逻辑相等,两者相同结果为真,否则为假6、IMP 判断两个表达式逻辑上是否相关字符串运算符ASP只有一个字符串运算符 ,它可以强迫两个表达式做字符串连接变量申明变量申明必须注意1、有效变量名称不能大于255个字符2、变量名称必须一字母开头3、在同一个有效范围内变量名称必须唯一变量申明 DIM 变量名称常数申明 CONST 常数名称=常数值数据类型对ASP而言,它只有一种Variant(通用变量)数据类型,这是一种非常特殊的数据类型,你可以将任何的数据类型指定给这种变量,例如布尔值、字节、整数、长整数、单精度浮点数、双精度浮点数、货币、日期等等VBScript及表单一、什么是VBScriptVBScript是Microsoft Visual Basic Scripting Edition的简称,你可以把它当作是VisualBasic的一个子集,但是这仅仅是从语法上来说的,正如JavaScript和JAVA的关系一样,VBScript 和Visual Basic并没有什么本质上的联系。

它是一种脚本语言,由VBScript脚本引擎(其实是一个动态连接库)解释执行。

目前它主要用在WWW网页(只有IE能正确查看包含VBScript脚本的网页,如果Netscape要正确查看,则必须安装一个插件)以及微软的WWW服务器IIS支持的ASP。

VBScript的语法这里就不再赘述,请读者参考其它书籍。

二、ASP的输出像所有讲编程的教材一样,让我们以“Hello World”开始吧。

假设我们要在网页里输出“Hello World”,在HTML里是很简单的事,在ASP中怎么做呢请看下例:<%″Hello World″%>把它存成一个ASP文件,执行后输出的效果如图1。

这里我们使用了Response对象的Write方法。

Response对象是ASP内置对象之一,也就是说,我们无需创建它就可以直接使用。

ASP一共内置了6个对象,它们是Server、Err、Application、Session、Request、Response,关于它们的属性和方法,大家可以参考IIS或PWS的帮助文档。

下面是另一种输出的方法:<%=″Hello World″%>这种语法是在ASP中特有的,它的意思是直接把等号“=”后面的内容输出到浏览器。

接下来让我们看一个稍复杂的例子:<script language=″VBScript″ runat=″server″>(″1″)</script><%(″2″)%><%=″3″%><script language=″jscript″ runat=″server″>(″4″);</script>大家可能奇怪,怎么这回不像以前的写法了呢。

前面说过,ASP的代码应该是用<%和%>括起来的呀。

其实,只要在<Script>标签里加上runat=″Server″,那么,WWW服务器在遇到包含Runat=″server″的script语句时,会在服务器端对script进行解释,runat=″Server″的作用也就跟<%%>;相同了。

相关文档
最新文档