ASP表单提交实例2

合集下载

艾恩ASP上传 完整说明文档(最新版本)

艾恩ASP上传 完整说明文档(最新版本)

艾恩ASP无组件上传类(上传组件)说明文档2010-1-18 By Anlige一、简介自从接触ASP就开始接触上传,看过一些上传类,但是总感觉封装的还是不够简单,因此自己尝试写一个能够用最少最简单的代码实现各种上传方式的上传类。

在学校期间就开始写,一点点的完善、优化,到现在的版本,现在的版本能适应各种上传方式。

上传类的主要的功能如下:1、自由设置最大上传大小、单文件最大上传大小2、自由设置允许上传的文件类型3、可设置文本的编码,以适应各种上传环境4、内置进度条,a用户可选择开启和关闭5、多种错误状态处理6、多种文件保存方式:原文件名、随机文件名、用户自定义文件名7、自由选择是否覆盖已存在文件8、完整保存表单数据,支持同名表单,不支持同名文件域注意:1、特别注意Form一定要加上enctype="multipart/form-data"属性,method属性值必须是post,否则上传会出错2、request.form()方法获取数据失效,请使用UpLoad.forms()3、上传前请确认保存文件的文件夹有读写权限,若不可写则会出现"文件无法写入"错误,解决方法/show.asp?id=81二、调用方法1、无组件类的调用方法:Dim Uploadset Upload = new AnUpLoad2、组件的调用方法:Dim UploadSet Upload = server.CreateObject("Jo.Upload")注意:上传属性的设置必须在调用Upload.GetData()之前。

简单调用示例:Dim Uploadset Upload=new AnUpLoad'Set Upload = server.CreateObject("Anasp.Anupload") Upload.SingleSize=1024*1024*1024'设置单个文件最大上传限制,按字节计;默认为不限制Upload.MaxSize=1024*1024*1024'设置最大上传限制,按字节计;默认为不限制Upload.Exe="bmp|rar|pdf|jpg|gif"'设置合法扩展名,以|分割Upload.Charset="gb2312"'设置文本编码,默认为gb2312Upload.openProcesser=false'禁止进度条功能,如果启用,需配合客户端程序Upload.GetData()'获取并保存数据,必须调用本方法三、类说明上传涉及2个类-AnUpLoad(关键上传类)和UploadFile(文件类,保存文件相关信息),下面分别说明:1、AnUpLoad(关键上传类)2、UploadFile(文件类(对象),保存文件相关信息)由于本类(对象)为JScript对象,其属性都是可读写的,一些由程序自动处理的属性不建议用户写入。

form表单提交过程

form表单提交过程

Form(表单)对于每个WEB开发人员来说,应该是再熟悉不过的东西了,可它却是页面与WEB服务器交互过程中最重要的信息来源。

虽然 WebForms框架为了帮助我们简化开发工作,做了很完美的封装,让我们只需要简单地使用服务端控件就可以直接操作那些HTML表单元素了。

但我认为了解一些基础的东西,可以使我们不必束缚在WebForms框架上,以及遇到一些奇怪问题时,可以更从容地解决它们。

今天,我将和大家来聊聊表单,这个简单又基础的东西。

我将站在HTML和单纯的 框架的角度来解释它们的工作方式,因此,本文不演示WebForms服务器控件的相关内容。

回到顶部简单的表单,简单的处理方式好了,让我们进入今天的主题,看看下面这个简单的HTML表单。

<form action="Handler1.ashx" method="post" ><p>客户名称: <input type="text" name="CustomerName" style="width:300px" /></p><p>客户电话: <input type="text" name="CustomerTel" style="width: 300px" /></p><p><input type="submit" value="提交" /></p></form>在这个HTML表单中,我定义了二个文本输入框,一个提交按钮,表单将提交到Handler1.ashx中处理,且以POST的方式。

注意哦,如果我们想让纯静态页面也能向服务器提交数据,就可以采用这样方式来处理:将action属性指向一个服务器能处理的地址。

asp简单教程及示例

asp简单教程及示例

目录1、创建 ASP 网页 (2)2、使用脚本语言 (8)3、使用变量和常量 (11)4、与客户端脚本交互操作 (16)5、编写过程 (19)6、使用集合 (22)7、处理用户输入 (29)8、使用组件和对象 (37)9、设置对象作用域 (41)10、将内容发送到浏览器 (45)11、包含文件 (52)12、管理会话 (54)13、访问数据源 (62)14、理解事务 (77)15、调试 ASP 脚本 (82)16、内置 ASP 对象 (86)创建 ASP 网页Active Server Pages (ASP) 文件是带有 .asp 扩展名的文本文件,它由下列内容组合而成:∙文本∙HTML 标记∙服务器端脚本使用 .asp 扩展名重命名现有的 .htm 或 .html 文件可以快速创建 .asp 文件。

如果文件不包含任何 ASP 功能,则服务器不进行 ASP 脚本处理,并很快将文件发送到客户端。

这为 Web 开发人员提供了极大的灵活性,因为即使目前不希望在文件中添加 ASP 功能,也可以使用 .asp 作为扩展名。

要在 Web 上发布 .asp 文件,请将新文件保存到网站上的虚拟目录(确保目录启用了“脚本”或“执行”权限)。

然后,使用浏览器输入文件的 URL 来请求文件。

(请注意,必须处理 ASP 网页,因此您无法通过输入其物理路径请求 .asp 文件)。

在浏览器中加载文件之后,可以发现服务器返回了 HTML 页。

这看起来有些奇怪,但要记住在发送文件之前,服务器将解析并执行所有 ASP 服务器端脚本。

用户将始终接收到标准的 HTML。

可以使用任意文本编辑器创建 .asp 文件。

随着对编辑器的深入使用,您将发现使用具有更多 ASP 支持的编辑器(如 Microsoft Visual InterDev 等)效率更高。

详细信息,请访问Microsoft Visual InterDev 网站。

添加服务器端脚本命令服务器端脚本是一系列指令,用于向 Web 服务器连续发出命令。

ASP图片上传代码

ASP图片上传代码

ASP图片上传代码-----------------adm_up.asp-----------------代码如下:<!--#include file="conn.asp"--> '数据库连接文件<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>管理</title><style type="text/css"><!--.STYLE1 {color: #000000}body {margin-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;}--></style><script language="javascript">function checknull(){dm=document.formvar filter=/^\s*[a-zA-Z]{1}:(\\).*[\.][jpgJPGifIF]{3}\s*$/;if (!filter.test(dm.file1.value)){alert('请选择您要上传图片,格式只能上传jpg或gif图片!');dm.file1.focus();return false;}return true;}</script></head><body><table width="100%" border="0" align="left" cellpadding="0" cellspacing="0"><tr><td width="100%" height="26" align="left"><%if session("admupiccnt")="" then%><form action="adm_upc.asp" method="post" enctype="multipart/form-data" name="form" id="form" onsubmit="return checknull()"><input type="hidden" name="act" value="upload" /><input name="file1" type="file" class="wenxints_line" size="32"/><input name="submit" type="submit" value="上传图片" /></form><%else%> <input name="Pic" type="text" value="<%=session("admupiccnt")%>" size="38" readonly/> <%end if%></td></tr></table></body></html>-----------------adm_upc.asp-----------------<!--#include file="conn.asp"--> '数据库连接文件<html><head><meta http-equiv=Content-Type content="text/html;charset=gb2312"><title></title></head>< body><div id="admheader"></div><%dim upfile_5xSoft_StreamdimFilePath,FileMaxSize,FileType,fileweb,nameset,pathset,vfname UpFilePath="../upload/" '上传文件目录FileMaxSize=110000 '文件大小100kbFileType=".jpg.gif" '文件类型fileweb=""nameset =1function makefilename(fname)fname = replace(fname,"-","")fname = replace(fname," ","")fname = replace(fname,":","")fname = replace(fname,"PM","")fname = replace(fname,"AM","")fname = replace(fname,"上午","")fname = replace(fname,"下午","")randomize()makefilename=fname&(int(RND()*10000))end functiondimupload,file,formName,iCount,url,UpFilePath,TypeFlag,fname,File NameStrset upload=new upload_classiCount=0for each formName in upload.file ''列出所有上传了的文件set file=upload.file(formName) ''生成一个文件对象if file.FileSize>0 then ''如果 FileSize > 0 说明有文件数据if FileType<>"" then '如果限制了上传文件类型if Instr(FileType,GetExtendName(file.FileName)) thenTypeFlag = 1 '文件为允许的类型elseTypeFlag = 0 '文件为不允许的类型Response.write "不支持您所上传的文件类型:"Response.write GetExtendName(file.FileName)Response.write "<br>"end ifelseTypeFlag = 1 '没有限制上传文件类型end ifif file.FileSize<FileMaxSize then ''如果未超过文件大小限制if TypeFlag = 1 thenvfname = makefilename(now())if nameset = 1 thenfname = vfname & iCount & "." & GetExtendName(file.FileName)elseif nameset =2 thenfname = file.FileNameelseif nameset = 3 thenfname = vfname & iCount & file.FileNameend iffile.SaveAs Server.mappath(UpFilePath&fname) ''保存文件iCount=iCount+1' fileStr = fileStr & "<a href='"& UpFilePath&file.FileName&"' target='_blank'>查看上传的文件:<font color='red'>" & file.FileName &"</font> ("& file.FileSize &" kb)</a><br>"FileNameStr = UpFilePath&fnamesession("admupiccnt")=fnameend ifelseresponse.write "<center>文件大小超出限制,您最多可以上传100kb的文件"exit forend ifend ifset file=nothingnext'----------------------------------------------------------------------------------------------set upload=nothing ''删除此对象if iCount=0 thenresponse.write "<font color=red>错误!</font>&nbsp;<a href='adm_pc.asp'>返回</a>"response.endend ifsub HtmEnd(Msg)set upload=nothingend subfunction GetExtendName(FileName)dim ExtNameExtName = LCase(FileName)ExtName = right(ExtName,3)ExtName = right(ExtName,3-Instr(ExtName,"."))GetExtendName = ExtNameend functionresponse.write"<script>location.href('adm_pc.asp')</script>"Class upload_classdim Form,File,VersionPrivate Sub Class_InitializedimiStart,iFileNameStart,iFileNameEnd,iEnd,vbEnter,iFormStart,iFor mEnd,theFiledimstrDiv,mFormName,mFormValue,mFileName,mFileSize,mFilePat h,iDivLen,mStrif Request.TotalBytes<1 then Exit Subset Form=CreateObject("Scripting.Dictionary")set File=CreateObject("Scripting.Dictionary")set upfile_5xSoft_Stream=CreateObject("Adodb.Stream") upfile_5xSoft_Stream.mode=3upfile_5xSoft_Stream.type=1upfile_5xSoft_Stream.openupfile_5xSoft_Stream.writeRequest.BinaryRead(Request.T otalBytes)vbEnter=Chr(13)&Chr(10)iDivLen=inString(1,vbEnter)+1strDiv=subString(1,iDivLen)iFormStart=iDivLeniFormEnd=inString(iformStart,strDiv)-1while iFormStart < iFormEndiStart=inString(iFormStart,"name=""")iEnd=inString(iStart+6,"""")mFormName=subString(iStart+6,iEnd-iStart-6)iFileNameStart=inString(iEnd+1,"filename=""")if iFileNameStart>0 and iFileNameStart<iFormEnd theniFileNameEnd=inString(iFileNameStart+10,"""")mFileName=subString(iFileNameStart+10,iFileNameEnd-iFileNameStart-10)iStart=inString(iFileNameEnd+1,vbEnter&vbEnter) iEnd=inString(iStart+4,vbEnter&strDiv)if iEnd>iStart thenmFileSize=iEnd-iStart-4elsemFileSize=0end ifset theFile=new FileInfotheFile.FileName=getFileName(mFileName) theFile.FilePath=getFilePath(mFileName) theFile.FileSize=mFileSizetheFile.FileStart=iStart+4theFile.FormName=FormNamefile.add mFormName,theFileelseiStart=inString(iEnd+1,vbEnter&vbEnter)iEnd=inString(iStart+4,vbEnter&strDiv)if iEnd>iStart thenmFormValue=subString(iStart+4,iEnd-iStart-4) elsemFormValue=""end ifform.Add mFormName,mFormValueend ifiFormStart=iformEnd+iDivLeniFormEnd=inString(iformStart,strDiv)-1wendEnd SubPrivate Function subString(theStart,theLen)dim i,c,stempupfile_5xSoft_Stream.Position=theStart-1stemp=""for i=1 to theLenif upfile_5xSoft_Stream.EOS then Exit forc=ascB(upfile_5xSoft_Stream.Read(1))If c > 127 Thenif upfile_5xSoft_Stream.EOS then Exit forstemp=stemp&Chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.R ead(1)))&ChrB(c)))i=i+1elsestemp=stemp&Chr(c)End IfNextsubString=stempEnd functionPrivate Function inString(theStart,varStr)dim i,j,bt,theLen,strInString=0Str=toByte(varStr)theLen=LenB(Str)for i=theStart to upfile_5xSoft_Stream.Size-theLenif i>upfile_5xSoft_Stream.size then exit Functionupfile_5xSoft_Stream.Position=i-1if AscB(upfile_5xSoft_Stream.Read(1))=AscB(midB(Str,1)) thenInString=ifor j=2 to theLenif upfile_5xSoft_Stream.EOS theninString=0Exit forend ifif AscB(upfile_5xSoft_Stream.Read(1))<>AscB(MidB(Str,j,1)) thenInString=0Exit Forend ifnextif InString<>0 then Exit Functionend ifnextEnd FunctionPrivate Sub Class_T erminateform.RemoveAllfile.RemoveAllset form=nothingset file=nothingupfile_5xSoft_Stream.closeset upfile_5xSoft_Stream=nothingEnd SubPrivate function GetFilePath(FullPath) '获取文件路径If FullPath <> "" ThenGetFilePath = left(FullPath,InStrRev(FullPath, "\"))ElseGetFilePath = ""End IfEnd functionPrivate function GetFileName(FullPath) '获取文件名If FullPath <> "" ThenGetFileName = mid(FullPath,InStrRev(FullPath, "\")+1)ElseGetFileName = ""End IfEnd functionPrivate function toByte(Str)dim i,iCode,c,iLow,iHightoByte=""For i=1 To Len(Str)c=mid(Str,i,1)iCode =Asc(c)If iCode<0 Then iCode = iCode + 65535If iCode>255 TheniLow = Left(Hex(Asc(c)),2)iHigh =Right(Hex(Asc(c)),2)toByte = toByte & chrB("&H"&iLow) & chrB("&H"&iHigh) ElsetoByte = toByte & chrB(AscB(c))End IfNextEnd functionEnd ClassClass FileInfodim FormName,FileName,FilePath,FileSize,FileStart Private Sub Class_InitializeFileName = ""FilePath = ""FileSize = 0FileStart= 0FormName = ""End SubPublic function SaveAs(FullPath)dim dr,ErrorChar,iSaveAs=1if trim(fullpath)="" or FileSize=0 or FileStart=0 or FileName="" then exit functionif FileStart=0 or right(fullpath,1)="/" then exit functionset dr=CreateObject("Adodb.Stream")dr.Mode=3dr.Type=1dr.Openupfile_5xSoft_Stream.position=FileStart-1upfile_5xSoft_Stream.copyto dr,FileSizedr.SaveToFile FullPath,2dr.Closeset dr=nothingSaveAs=0end functionEnd Class%>另附:页面中嵌入上传页代码<iframe src="adm_pc.asp" frameborder="0" scrolling="No" width="400" height="24"></iframe>。

ASP表单两种提交模式辨析

ASP表单两种提交模式辨析

方式传递的数据量相对较大,它是等待服务器来读取数据,根据微软
方面的说法,微软对用 Request.Form() 可接收的最大数据有限制,IIS
4 中为 80 KB,IIS 5 中为 100 KB,IIS 6.0中为200KB,。
(4)用post方式传递信息时一定要有表单,而get方式可以在浏
览网页时不显示表单而直接在地址栏中输入查询字符串。例如我们可
我们通过在地址栏中输入分别输入:http://localhost/bdget.asp和
http://localhost/bdpost.asp运行两个表单并观察运行过程及结果,可
以总结出get 方式和post方式的一些不同点:
(1)虽然通过两种方式提交的参数都可以用Request来获得,但
对于get方式,服务器端须用Request.querystring("字段")来获取变量
表头(header)内作为HTTP消息的实体内容一起传送给服务器端交由
action属性能所指的程序处理,该程序会通过标准输入(stdin)方式,
将表单的数据读出并加以处理,而用户是看不到这个过程的。
(3)Get方式传输的数据量非常小,一般在 2 KB以内,这主要
是因为受URL长度限制,但是其执行效率却比 Post 方法好;而 Post
表单最常用的语法如下: < form name=该form的名称 action=处理输入数据的程序的URL method=输入的数据传送到服务器的方式,取值为post或get> form 表单元素(如文本框、单选框、复选框和下拉选择框等) </form> 由表单的method可知,用户可以用get和post两种方法传送数据, 那么它们二者到底有何区别呢? 我们先用两种方式分别建立两个简单的表单文件: bdget.asp(其 method方 式 为 get) 和 bdpost.asp( 其 method方 式 为 post) 。 其 中 bdget.asp的内容为: <HTML> <head><title>一个简单的表单</title></head> <BODY> <form name="bdget" method="get" action="jsget.asp"> 姓名:<input type="text" name="username"><br> 口令:<input type="password" name="userpassword"><br> <input type="submit"> </form> </BODY> </HTML> 表 单 bdpost.asp的 内 容 与 bdget.asp类 似 , 只 是 将 name值 改 为 bdpost,method值改为post,action值改为jspost.asp,其它内容不变。 接收表单bdget.asp的页面文件为jsget.asp,其内容为: <HTML> <head><title>表单处理</title></head> <BODY> <% name=request.querystring("username") password=request.querystring("userpassword")%> 您的名字是:<%=name%> <br> 您的密码是:<%=password%> </BODY> </HTML> 接收表单bdpost.asp的页面文件为jspost.asp,其内容为: <HTML> <head><title>表单处理</title></head> <BODY> <% name=request.form("username") password=request.form("userpassword") %> 您的名字是:<%=name%> <br> 您的密码是:<%=password%> </BODY> </HTML>

表单的提交方法

表单的提交方法

表单的提交方法表单的提交什么是表单的提交表单的提交是指通过填写表单中的字段数据,将数据发送到服务器进行处理的过程。

在网页中,表单的提交是实现用户与服务器之间交互的重要方法之一。

表单提交的方法1.GET方法GET方法是最常见的表单提交方法之一。

通过GET方法提交的表单数据会附加在URL的后面,以键值对的形式呈现。

例如:GET方法的特点是简单、直观,适用于在URL中传递少量数据。

但是,由于数据会出现在URL中,存在安全风险,且URL长度有限制。

2.POST方法POST方法是另一种常见的表单提交方法。

通过POST方法提交的表单数据不会附加在URL中,而是作为请求的一部分发送到服务器。

例如:POST /submit-form HTTP/Host:Content-Type: application/x-username=John&password=123456POST方法适合提交大量数据,且相对较安全,但相比GET方法稍显复杂。

3.AJAX方法AJAX是一种使用JavaScript和XMLHttpRequest对象实现的表单提交方法。

通过AJAX方法,表单数据可以异步地提交到服务器,页面不需要刷新。

这种方法可以提升用户体验,但对开发者要求较高。

var xhr = new XMLHttpRequest();("POST", "submit-form", true);("Content-Type", "application/json");= function() {if ( === 4 && === 200) {var response = ();// 处理服务器返回的数据}};var formData = {username: "John",password: "123456"};((formData));表单提交的注意事项•分析需求:在进行表单提交前,需要充分了解业务需求,确定需要提交的字段和数据类型。

ASPUPLOAD上传的例子

ASPUPLOAD上传的例子
Response.Write"<script language=JavaScript>"
Response.Write"alert(""我们只支持上传GIF或JPG图片文件!"");"
Response.Write"javascript:history.back(1);"
' 使用AspUpload组件上传
'-----------------------------------------------
Set upfile = Server.CreateObject("Persits.Upload.1")
fw_size=512000
Server.ScriptTimeOut=60
rs.addnew
rs("mytype")=upfile.form("mytype")
rs("imgurl")=imgurl
rs.update
rs.close
Response.Write"<script language=JavaScript>"
Response.Write"alert(""信息发布成功"");"
ቤተ መጻሕፍቲ ባይዱ Response.Write"</script>"
Response.end
end if
if File.size >fw_size then '文件大小判断
set upfile=nothing

表单提交的多种方法

表单提交的多种方法

表单提交的多种⽅法表单提交共有四个⽅法表单提交⽅式⼀:直接利⽤form表单提交html页⾯代码:<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Insert title here</title></head><body><form action="http://localhost:8080/user" method="post">username:<input type="text" name="username" /><br>password:<input type="password" name="password" /> <br><input type="submit" value="登录"></form></body></html>controller页⾯代码:package com.help.demo.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class UserController {@PostMapping("/user")@ResponseBodypublic String add(String username,String password){System.out.println("返回值是》》"+username+"---->"+password);String str = "返回值是"+username+password;return str;}}》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》表单提交⽅式⼆:使⽤ajax提交html页⾯代码:<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Insert title here</title></head><body><!-- --><form method="post" onsubmit="return false" action="##" id="formtest">username:<input type="text" name="username" /><br>password:<input type="password" name="password" /> <br><input type="button" value="登录" onclick="login()"></form><script type="text/javascript" src="/js/jquery.min.js"></script><script type="text/javascript" src="/js/jquery.easyui.min.js"></script><script type="text/javascript" src="/js/extJquery.js"></script><script type="text/javascript" src="/js/extEasyUI.js"></script><script type="text/javascript">function login() {$.ajax({//⼏个参数需要注意⼀下type: "POST",//⽅法类型dataType: "text",//预期服务器返回的数据类型如果是对象返回的是json 如果是字符串这⾥⼀定要定义text 之前我就是定义json 结果字符串的返回⼀直到额error中去/*dataType:要求为String类型的参数,预期服务器返回的数据类型。

Asp.NetMvc表单提交之List集合

Asp.NetMvc表单提交之List集合

Mvc表单提交之List集合⼀、说明 Mvc中Action的参数可以⾃动接收和反序列化form表单的值,2.对于name=value类型,只要Action参数的变量名和input的name相同就⾏,不区分⼤⼩写3.对于Model类型的,只要Action参数Model的字段名和input的name相同就⾏,不区分⼤⼩写4.对于List类型,如下⼆、List 基础数据类型提交Html代码<div class="panel panel-default"><div class="panel-heading"><div class="panel-title"> List 基础数据类型提交</div></div><div class="panel-body"><form action="@Url.Action("TestOne")" method="post"><div class="form-group"><input name="name" value="张三" /></div><div class="form-group"><input name="name" value="李四" /></div><input class="btn btn-success" type="submit" value="提交" /></form></div></div>Action接收public JsonResult TestOne(List<string> name){return Json(name);}参数传递:显⽰结果:三、List<Model>类型提交json数组<div class="panel panel-default"><div class="panel-heading"><div class="panel-title"> List&lt;Model&gt; 数据类型提交(⼀)</div></div><div class="panel-body"><form action="@Url.Action("TestTwo")" method="post"><table><thead><tr><th>ID</th><th>Name</th></tr></thead><tbody><tr><td><input name="ID" value="1" /></td><td><input name="Name" value="张三" /></td></tr><tr><td><input name="ID" value="2" /></td><td><input name="Name" value="李四" /></td></tr></tbody></table><input type="submit" class="btn btn-success" id="submit1" value="提交" /></form></div></div>使⽤Ajax提交$('#submit1').click(function () {var form = $(this).parents('form');var result = [];form.find('tbody tr').each(function () {var thisItem = $(this);result.push({ID: thisItem.find("input:eq(0)").val(),Name: thisItem.find('input:eq(1)').val()})});$.post(form.attr('action'), {stuList: result, //直接提交json数组}, function (data) {alert(data);});return false;});后台action接收处理public JsonResult TestTwo(List<Student> stuList){return Json(stuList);}参数传递:四、List<Model>类型提交之json数组字符串HTML内容同上,整合json数组,以字符串格式传递$('#submit2').click(function () {var form = $(this).parents('form');var result = [];var data = form.serializeArray();for (var i = 0; i < data.length; i++) {var item = data[i];var stu_i = Math.floor(i / 2); //没2(对象的属性个数)个位⼀组,整合到⼀个对象中 if (!result[stu_i])result[stu_i] = {}; //初始化数组中的对象result[stu_i][item['name']] = item['value'];}(result);$.post(form.attr('action'), {stuList: JSON.stringify(result), //提交json字符串,后台⾃⼰反序列化other: 'test'}, function (data) {alert(data);});return false;});action后台参数接收处理public JsonResult TestThree(string stuList, string other = "没有内容"){//⾃⼰反序列化处理,更灵活处理List<Student> list = JsonConvert.DeserializeObject<List<Student>>(stuList);return Json(new { stu = list, other = other });}参数传递:返回结果:特别说明提交的Josn数组整合⽅式1:从页⾯dom中获取//处理⽅式1,从页⾯获取值var result = [];form.find('tbody tr').each(function () {var thisItem = $(this);result.push({ID: thisItem.find("input:eq(0)").val(),Name: thisItem.find('input:eq(1)').val()})});整合⽅式2:从表单的序列化数组中获取var result = [];var data = form.serializeArray();for (var i = 0; i < data.length; i++) {var item = data[i];var stu_i = Math.floor(i / 2); //没2(对象的属性个数)个位⼀组,整合到⼀个对象中 if (!result[stu_i])result[stu_i] = {}; //初始化数组中的对象result[stu_i][item['name']] = item['value'];}(result);。

ASP实验报告实验2

ASP实验报告实验2

ASP实验报告实验2第一点:ASP实验2的背景与目的ASP(Active Server Pages)实验是计算机科学和网络编程领域的一项基本技能实验,旨在让学生通过实践掌握ASP技术,进一步了解动态网页的制作和数据库的交互。

实验2则是基于第一实验的基础上,进一步深化学生对于ASP技术的应用,提高学生解决实际问题的能力。

本实验要求学生设计并实现一个简单的ASP应用程序,其主要功能是实现用户注册和登录功能。

通过这个实验,学生需要掌握如何使用ASP技术进行用户信息的收集、处理和存储,以及如何使用SQL语句进行数据库的交互。

实验的背景是假设学生需要为一个简单的社区网站设计用户注册和登录功能。

用户注册时,需要收集用户的基本信息,如用户名、密码、邮箱等,并将这些信息存储到数据库中。

用户登录时,需要验证用户输入的用户名和密码是否与数据库中存储的信息匹配,如果匹配,则允许用户登录。

实验的目的是让学生通过实践,掌握ASP技术的基本使用方法,了解ASP与数据库的交互方式,提高学生解决实际问题的能力。

同时,通过实验,学生也可以加深对于网络安全和数据保护的理解,提高他们在未来工作和学习中处理类似问题的能力。

第二点:ASP实验2的具体内容和步骤本实验的具体内容主要包括以下几个部分:1.设计用户注册和登录界面:学生需要设计一个简洁明了的用户注册和登录界面,包括用户名、密码、确认密码、邮箱等输入框,以及注册和登录按钮。

2.收集用户信息并存储到数据库:学生需要使用ASP技术收集用户在注册界面输入的信息,并将其存储到数据库中。

这里需要使用SQL语句进行数据库的插入操作。

3.验证用户登录信息:学生需要使用ASP技术验证用户在登录界面输入的用户名和密码是否与数据库中存储的信息匹配。

如果匹配,则允许用户登录,否则提示用户登录失败。

4.实现用户注销功能:学生需要实现一个简单的用户注销功能,当用户点击注销按钮时,能够清除用户的登录状态,使用户重新回到登录界面。

简单asp文件上传代码

简单asp文件上传代码

简单_asp文件上传代码_程序<%@language=vbscript codepage=936 %><!--#include file="Inc/upfile_class.asp"--><%const upload_type=0 '上传方法:0=无惧无组件上传类,1=FSO上传 2=lyfupload,3=aspupload,4=chinaaspuploadconst SaveUpFilesPath="UploadFiles"const UpFileType_pic="jpg|gif|bmp|png"const UpFileType_flash="swf"const UpFileType_media="wmv|asf|avi|mpg"const UpFileType_rm="ram|rm|ra"const MaxFileSize=102400dim upload,oFile,formName,SavePath,filename,fileExt,oFileSizedim EnableUploaddim UpFileType,arrUpFileTypedim ranNumdim msg,FoundErrdim DialogTypemsg=""FoundErr=falseEnableUpload=falseSavePath = SaveUpFilesPath '存放上传文件的目录if right(SavePath,1)<>"/" then SavePath=SavePath&"/" '在目录后加(/)%><html><head><title>上传文件</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><link rel="stylesheet" type="text/css" href="editor_dialog.css"></head><body bgColor=menu leftmargin="2" topmargin="5" marginwidth="0" marginheight="0"> <%if EnableUploadFile="No" thenresponse.write "系统未开放文件上传功能"elseif session("AdminName")="" thenresponse.Write("请登录后再使用本功能!")elseselect case upload_typecase 0call upload_0() '使用化境无组件上传类case else'response.write "本系统未开放插件功能"'response.endend selectend ifend if%></body></html><%sub upload_0() '使用化境无组件上传类set upload=new upfile_class ''建立上传对象upload.GetData(104857600) '取得上传数据,限制最大上传100Mif upload.err > 0 then '如果出错select case upload.errcase 1response.write "请先选择你要上传的文件!"case 2response.write "你上传的文件总大小超出了最大限制(100M)"end selectresponse.endend ifDialogType=trim(upload.form("DialogType"))select case DialogTypecase "pic"UpFileType=UpFileType_piccase "flash"UpFileType=UpFileType_flashcase "media"UpFileType=UpFileType_mediacase "rm"UpFileType=UpFileType_rmcase elseUpFileType=""end selectfor each formName in upload.file '列出所有上传了的文件set ofile=upload.file(formName) '生成一个文件对象oFileSize=ofile.filesizeif oFileSize<100 thenmsg="请先选择你要上传的文件!"FoundErr=Trueelseif ofilesize>(MaxFileSize*1024) thenmsg="文件大小超过了限制,最大只能上传" & CStr(MaxFileSize) & "K的文件!" FoundErr=trueend iffileExt=lcase(ofile.FileExt)arrUpFileType=split(UpFileType,"|")for i=0 to ubound(arrUpFileType)if fileEXT=trim(arrUpFileType(i)) thenEnableUpload=trueexit forend ifnextif fileEXT="asp" or fileEXT="asa" or fileEXT="aspx" thenEnableUpload=falseend ifif EnableUpload=false thenmsg="这种文件类型不允许上传!\n\n只允许上传这几种文件类型:" & UpFileTypeFoundErr=trueend ifstrJS="<SCRIPT language=javascript>" & vbcrlfif FoundErr<>true thenrandomizeranNum=int(900*rnd)+100filename=SavePath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now )&ranNum&"."&fileExtofile.SaveToFile Server.mappath(FileName) '保存文件response.write "文件上传成功!"strJS=strJS & "parent.document.form1.url.value='" & fileName & "';" & vbcrlf strJS=strJS & "parent.document.form1.UpFileName.value='" & fileName & "';" & vbcrlfelsestrJS=strJS & "alert('" & msg & "');" & vbcrlfstrJS=strJS & "window.location='Upload_Dialog.asp?DialogType=" & DialogType & "';" & vbcrlfend ifstrJS=strJS & "</script>" & vbcrlfresponse.write strJSset file=nothingnextset upload=nothingend sub%>。

ASP 读取表单传递的数据

ASP  读取表单传递的数据

ASP 读取表单传递的数据Form集合可以获取用POST方法从浏览器传送来的值,这些值由Form表单提交。

通过设置Method="POST",所有作为请求提交的<FORM>标签中值的集合,每个成员均为只读。

语法格式:Request.Form(Element)[(Index)|.Count]在该语法中,包含有两个参数,其中element参数是指定集合要检索的表格元素的名称。

而index参数为可选参数,使用该参数可以访问某参数中多个值中的一个。

它可以是1到Request.Form(parameter).Count之间的任意整数。

Form集合按请求正文中参数的名称来索引。

Request.Form(element)的值是请求正文中所有element值的数组。

通过调用Request.Form(element).Count来确定参数中值的个数。

如果参数未关联多个值,则计数为1。

如果找不到参数,计数为0。

要引用有多个值的表格元素中的单个值,必须指定index值。

index参数可以是从1到Request.Form(element).Count中的任意数字。

如果引用多个表格参数中的一个,而未指定index值,返回的数据将是以逗号分隔的字符串。

在使用Request.Form参数时,Web服务器将分析HTTP请求正文并返回指定的数据。

如果应用程序需要未分析的表格数据,可以通过调用不带参数的Request.Form 访问该数据。

下面通过一个实例的表单内容,提交到另外一个ASP页面,并通过Request.Form 集合来获取表单中的内容。

所示。

图4-3 表单内容通过在表单中设置需要选项内容,并将表单内容提交到color.asp页面。

而在该页面中,主要通过Request.form集合,来获取表单信息。

通过执行上述内容,将显示表单所提交的表单信息,如图4-4所示。

图4-4 显示表单内容。

ASP.NETCore文件上传与下载实例(多种上传方式)

ASP.NETCore文件上传与下载实例(多种上传方式)

Core⽂件上传与下载实例(多种上传⽅式)前⾔前段时间项⽬上线,实在太忙,最近终于开始可以研究研究 Core了.打算写个系列,但是还没想好⽬录,今天先来⼀篇,后⾯在整理吧. Core 2.0 发展到现在,已经很成熟了.下个项⽬争取使⽤吧.正⽂1.使⽤模型绑定上传⽂件(官⽅例⼦)这⾥吐槽⼀下 - -,这TM的机器翻译..还不如⾃⼰看E⽂的..⾸先我们需要创建⼀个form表单如下:<form method="post" enctype="multipart/form-data" asp-controller="UpLoadFile" asp-action="FileSave"><div><div><p>Form表单多个上传⽂件:</p><input type="file" name="files" multiple /><input type="submit" value="上传" /></div></div></form>其中,asp-controller和asp-action,(这个是TagHelper的玩法,以后讲)是我们要访问的控制器和⽅法.给我们的input标签加上 multiple 属性,来⽀持多⽂件上传.创建⼀个控制器,我们编写上传⽅法如下:public async Task<IActionResult> FileSave(List<IFormFile> files){var files = Request.Form.Files;long size = files.Sum(f => f.Length);string webRootPath = _hostingEnvironment.WebRootPath;string contentRootPath = _hostingEnvironment.ContentRootPath;foreach (var formFile in files){if (formFile.Length > 0){string fileExt = GetFileExt(formFile.FileName); //⽂件扩展名,不含“.”long fileSize = formFile.Length; //获得⽂件⼤⼩,以字节为单位string newFileName = System.Guid.NewGuid().ToString() + "." + fileExt; //随机⽣成新的⽂件名var filePath = webRootPath +"/upload/" + newFileName;using (var stream = new FileStream(filePath, FileMode.Create)){await formFile.CopyToAsync(stream);}}}return Ok(new { count = files.Count, size });}这⾥我们采⽤ Core的新接⼝IFormFile, IFormFile的具体定义如下:public interface IFormFile{string ContentType { get; }string ContentDisposition { get; }IHeaderDictionary Headers { get; }long Length { get; }string Name { get; }string FileName { get; }Stream OpenReadStream();void CopyTo(Stream target);Task CopyToAsync(Stream target, CancellationToken cancellationToken = null);}上⾯的代码使⽤了IHostingEnvironment来获取项⽬的根⽬录地址.构造函数注⼊的代码如下:private readonly IHostingEnvironment _hostingEnvironment;public UpLoadFileController(IHostingEnvironment hostingEnvironment){_hostingEnvironment = hostingEnvironment;}这样,我们就完成了控制器的编写,然后到运⾏前端,上传⽂件..效果如下:通过IFormFile的CopyToAsync⽅法,我们就可以把这个⽂件流复制下来并保存到本地即可.2.使⽤Ajax上传⽂件上⾯我们是使⽤表单上传,但是项⽬过程中,⼤部分情况会使⽤Ajax进⾏上传,所以我们就来讲讲如何使⽤Ajax上传.⾸先编写HTML代码如下:<div><form id="uploadForm">AJAX上传多⽂件: <input type="file" name="file" multiple /><input type="button" value="上传" onclick="doUpload()" /></form></div>编写JS代码如下(这⾥我们使⽤FormData对象来上传):function doUpload() {var formData = new FormData($("#uploadForm")[0]);$.ajax({url: '@Url.Action("FileSave")',type: 'POST',data: formData,async: false,cache: false,contentType: false,processData: false,success: function (returndata) {alert(returndata);},error: function (returndata) {alert(returndata);}});}后台代码不做任何修改.我们会发现.直接在List<IFormFile> files中是⽆法获取到⽂件的.通过调试,我们可以发现,⽂件是上传成功的,但是放在了Request.Form.Files当中.所以修改后台代码如下:public async Task<IActionResult> FileSave(){var date = Request;var files = Request.Form.Files;long size = files.Sum(f => f.Length);string webRootPath = _hostingEnvironment.WebRootPath;string contentRootPath = _hostingEnvironment.ContentRootPath;foreach (var formFile in files){if (formFile.Length > 0){string fileExt = GetFileExt(formFile.FileName); //⽂件扩展名,不含“.”long fileSize = formFile.Length; //获得⽂件⼤⼩,以字节为单位string newFileName = System.Guid.NewGuid().ToString() + "." + fileExt; //随机⽣成新的⽂件名var filePath = webRootPath +"/upload/" + newFileName;using (var stream = new FileStream(filePath, FileMode.Create)){await formFile.CopyToAsync(stream);}}}return Ok(new { count = files.Count, size });}改为直接从Request.Form.Files中获取⽂件集合.~3.使⽤webUploader上传⽂件很久之前..呃..封装过⼀个webUploader的JS..我们也⽤封装好的JS来试试.HTML和JS代码如下,后台代码不需要修改,还是直接从Request.Form.Files获取即可: <div id="upfliediv"></div>$(function () {//实例化⽂件上传$("#upfliediv").powerWebUpload({auto: true, fileNumLimit: 1});$("#upfliediv").CleanUpload();})上传效果如图:4.⽂件下载.上传了⽂件,我们当然需要下载.直接通过URL+地址下载是⼀种极其不安全的⽅式.这⾥我们采⽤返回流的形式来下载.后台代码如下:/// <summary>/// ⽂件流的⽅式输出 /// </summary>/// <returns></returns>public IActionResult DownLoad(string file){var addrUrl = file;var stream = System.IO.File.OpenRead(addrUrl);string fileExt = GetFileExt(file);//获取⽂件的ContentTypevar provider = new FileExtensionContentTypeProvider();var memi = provider.Mappings[fileExt];return File(stream, memi, Path.GetFileName(addrUrl));}这⾥值得注意的是,以前我们想获取ContentType直接使⽤MimeMapping.GetMimeMapping(file);就好了.但是这个类是在System.Web下的,core已经抛弃了现有的System.Web.所以在 Core中我们需要通过新的类FileExtensionContentTypeProvider来获取⽂件的ContentType编写HTML+JS代码如下(PS:因为是demo,所以写的⽐较简陋):<div><input type="text" id="filename" /><button onclick="downLoad()">下载</button></div>function downLoad() {var filename = $("#filename").val();window.location.href = "@Url.Action("DownLoad")?file=" + filename;}效果如图:以上这篇 Core⽂件上传与下载实例(多种上传⽅式)就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

ASP.NET最全的POST提交数据和接收数据——(1)用url传参方式

ASP.NET最全的POST提交数据和接收数据——(1)用url传参方式

最全的POST提交数据和接收数据——(1)⽤url传参⽅式//1、对象提交,字典⽅式//接⼝⽅:public ActionResult GetArry(Car model)public void PostResponse(){HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("/appapi/apiaccount/aa");Encoding encoding = Encoding.UTF8;//string param = "UserName=123&UserPwd=123";//post 参数Car c = new Car();c.Passed = 1;//truec.LinkTel = "⼩测试";c.CarBrand = "11111111";c.Loads = 101;erId = 50;c.SortId = 1;c.CarArea = "11111111";c.CarStateId = 1;c.LinkMan = "1111111111";c.Sfzh = "141124188789786031";c.CarNum = "ABCDE1";c.CarLength = 100;c.DrivingNum = "11111111";c.State = 1;c.CarId = 0;c.CarOwner = "111111";c.CarAreaId = 1;c.CarTypeId = 1;c.AddTime = DateTime.Now;IDictionary<string, string> para = new Dictionary<string, string>();para.Add("LinkTel", "第⼆次测试");para.Add("CarBrand", "1111");para.Add("Loads", "101");para.Add("UserId", "50");para.Add("SortId", "1");StringBuilder buffer = new StringBuilder();int i = 0;foreach (string key in para.Keys){if (i > 0){buffer.AppendFormat("&{0}={1}", key, para[key]);}else{buffer.AppendFormat("{0}={1}", key, para[key]);}i++;}//JavaScriptSerializer ser = new JavaScriptSerializer();//string param = ser.Serialize(c);byte[] bs = Encoding.UTF8.GetBytes(buffer.ToString());string responseData = String.Empty;req.Method = "POST";//req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";req.ContentLength = bs.Length;using (Stream reqStream = req.GetRequestStream()){reqStream.Write(bs, 0, bs.Length);reqStream.Close();}using (HttpWebResponse response = (HttpWebResponse)req.GetResponse()){using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding)){responseData = reader.ReadToEnd().ToString();}Response.Write(responseData);}}//2、链接⽅式提交数据//接⼝⽅:public ActionResult GetArry(int UserId,string GroupName)//提交参数:string param = "UserId=737&GroupName=⼀杯美酒";//post 参数public void PostMethd(){HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("/appapi/apiaccount/GetGroupsByUserId"); Encoding encoding = Encoding.UTF8;string param = "userid=735";//post 参数byte[] bs = Encoding.UTF8.GetBytes(param.ToString());//byte[] bs = new byte[]{};string responseData = String.Empty;req.Method = "POST";req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";req.ContentLength = bs.Length;//return;using (Stream reqStream = req.GetRequestStream()){reqStream.Write(bs, 0, bs.Length);reqStream.Close();}using (HttpWebResponse response = (HttpWebResponse)req.GetResponse()){using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding)){responseData = reader.ReadToEnd().ToString();}Response.Write(responseData);}}//3、提交数组//接⼝⽅:public ActionResult GetArry(string[] arrpost)//提交参数:string param = "arrpost=737&arrpost=⼀杯美酒";//post 参数public void PostArrMethd(){HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://localhost:7242/appapi/apiaccount/GetArry");Encoding encoding = Encoding.UTF8;string param = "arrpost=737&arrpost=⼀杯美酒";//post 参数byte[] bs = Encoding.UTF8.GetBytes(param.ToString());//byte[] bs = new byte[]{};string responseData = String.Empty;req.Method = "POST";req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";req.ContentLength = bs.Length;//return;using (Stream reqStream = req.GetRequestStream()){reqStream.Write(bs, 0, bs.Length);reqStream.Close();}using (HttpWebResponse response = (HttpWebResponse)req.GetResponse()){using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding)){responseData = reader.ReadToEnd().ToString();}Response.Write(responseData);}}//4、提交数组对象//接⼝⽅:public ActionResult GetArry(List<Car> arrpost)/* 对象public class Dasa{public Dasa() { }private string name;public string Name{get { return name; }set { name = value; }}private int age;public int Age{get { return age; }set { age = value; }}}*///提交参数:string param = "arrpost[0].Name=737&arrpost[0].Age=23&arrpost[1].Name=⼀杯美酒&arrpost[1].Age=25";//post 参数public void PostArrObjMethd(){HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://localhost:7242/appapi/apiaccount/GetArry");Encoding encoding = Encoding.UTF8;string param = "arrpost[0].Name=737&arrpost[0].Age=23&arrpost[1].Name=⼀杯美酒&arrpost[1].Age=25";//post 参数byte[] bs = Encoding.UTF8.GetBytes(param.ToString());//byte[] bs = new byte[]{};string responseData = String.Empty;req.Method = "POST";req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";req.ContentLength = bs.Length;//return;using (Stream reqStream = req.GetRequestStream()){reqStream.Write(bs, 0, bs.Length);reqStream.Close();}using (HttpWebResponse response = (HttpWebResponse)req.GetResponse()){using (StreamReader reader = new StreamReader(response.GetResponseStream(), encoding)){responseData = reader.ReadToEnd().ToString();}Response.Write(responseData);}}#region⽂件提交//上传调⽤⽅法public void upImg(){NameValueCollection nvc = new NameValueCollection();nvc.Add("id", "TTR");nvc.Add("btn-submit-photo", "Upload");HttpUploadFile("/appapi/apiaccount/AddtUser", @"D:\1.jpg", "file", "image/jpeg", nvc);}//5、提交⽂件public string HttpUploadFile(string url, string file, string paramName, string contentType, NameValueCollection nvc){string result = string.Empty;string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x");byte[] boundarybytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url);wr.ContentType = "multipart/form-data; boundary=" + boundary;wr.Method = "POST";wr.KeepAlive = true;wr.Timeout = 300000;wr.Credentials = .CredentialCache.DefaultCredentials;Stream rs = wr.GetRequestStream();string formdataTemplate = "Content-Disposition: form-data; name=\"{0}\"\r\n\r\n{1}";foreach (string key in nvc.Keys){rs.Write(boundarybytes, 0, boundarybytes.Length);string formitem = string.Format(formdataTemplate, key, nvc[key]);byte[] formitembytes = System.Text.Encoding.UTF8.GetBytes(formitem);rs.Write(formitembytes, 0, formitembytes.Length);}rs.Write(boundarybytes, 0, boundarybytes.Length);string headerTemplate = "Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\nContent-Type: {2}\r\n\r\n";string header = string.Format(headerTemplate, paramName, file, contentType);byte[] headerbytes = System.Text.Encoding.UTF8.GetBytes(header);rs.Write(headerbytes, 0, headerbytes.Length);FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read);byte[] buffer = new byte[4096];int bytesRead = 0;while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0){rs.Write(buffer, 0, bytesRead);}fileStream.Close();byte[] trailer = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n");。

ASP实验报告实验2

ASP实验报告实验2

ASP实验报告实验2一、实验目的本次实验旨在深入了解和掌握 ASP(Active Server Pages)的基本原理和应用,通过实际操作,提高对动态网页开发的能力,熟练运用ASP 技术实现特定的功能和效果。

二、实验环境1、操作系统:Windows 102、开发工具:Microsoft Visual Studio Code3、服务器:IIS(Internet Information Services)三、实验内容(一)创建 ASP 页面1、打开 Visual Studio Code,新建一个文本文件,并将其扩展名修改为`asp` 。

2、在文件中输入以下基本的 ASP 代码结构:```html<%@ Language=VBScript %><html><head><title>我的第一个 ASP 页面</title></head><body><%ResponseWrite("Hello, ASP!")%></body></html>```3、保存文件,并将其放置在 IIS 服务器的默认网站目录下。

(二)使用变量和表达式1、在 ASP 页面中定义变量,例如:```vbscript<%Dim num1, num2, sumnum1 = 5num2 = 10sum = num1 + num2ResponseWrite("两数之和为:"& sum)%>```2、进行简单的数学运算和字符串连接操作,观察输出结果。

(三)使用条件语句1、实现ifelse 条件判断,根据不同的条件输出不同的内容,例如:```vbscript<%Dim ageage = 20If age < 18 ThenResponseWrite("您是未成年人")ElseResponseWrite("您是成年人")End If%>```2、尝试使用多重条件判断,如 ifelseifelse 结构。

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 是服务器运⾏的,如果可以在服务器显⽰⼀个对话框,那么你只好等有⼈按了确定之后,你的程序才能继续执⾏,⽽⼀般服务器不会有⼈守着,所以微软不得不禁⽌这个函数,并胡乱告诉你 (:) 呵呵) 没有权限。

AspUpload的属性及其使用方法详细介绍

AspUpload的属性及其使用方法详细介绍

AspUpload的属性及其使用方法详细介绍1、CodePage As Long (Read/Write)可以把表单的文本项目名和文件名的字符从指定的 CodePage转换为Unicode,比如表单是按UTF-8提交的,那么这个属性应该设置为65001。

其他的如 51 (Cyrillic), 1255 (Hebrew), 1256 (Arabic)等等。

用法:< type=text/Java>attachEvent("", (){AutoSizeDIV(’CODE_7643’)}) 程序代码:Upload.CodePage = 65001-------------------------------------------2、DetectMacBinary As Boolean (Read/Write)默认为True。

这个属性用来控制是否检测上传的文件是MacBinary格式的,如果是则从中提取“data fork”。

AspUpload 3.0 Beta 1. 不支持。

用法:Upload.DetectMacBinary = False--------------------------------------------3、Directory (Path As String, Optional SortBy, Optional Ascending) As Object (Read-Only)返回一个集合,这个集合包括指定目录的所有子目录和文件的引用。

在这个集合里,子目录总是优先于文件.Path 可以包括通配符 * 和 ?。

SortBy 可以是: SORTBY_NAME (1, default). SORTBY_TYPE (2), SORTBY_SIZE (3), SORTBY_CREATIONTIME(4),SORTBY_LASTWRITETIME(5),and SORTBY_LASTAccessTIME (6). Ascending 默认为True。

ASP+Jmail提交表单到指定邮箱方法

ASP+Jmail提交表单到指定邮箱方法

下面以申请友情链接为例,介绍利用ASP+JMail的方法将表单数据发送到指定邮箱。

之所以选择JMail为例,是因为国内大部分主机都支持Jmail组件。

Html表单页面代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>友情链接申请</title></head><body><form id="form" name="form" method="post" action="send.asp" ><ul><h1>web技术收藏夹友情链接申请</h1><li><input type="text" name="pname" />网站名称</li><li><input type="text" name="pname" />网址</li><li><input type="text" name="pname" />您的邮箱</li><li><input type="text" name="pname" />链接关键词</li><li><textarea name="msgg" cols="60" rows="5" >网站介绍</textarea></li><Li><input name="submit" type="submit" value="提交" /></Li></ul></form></body></html>send.asp页面代码:<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta http-equiv=refresh content=3;url=''/><title>友情链接提交成功</title></head><!--定义3秒钟自动跳转--><script language="JavaScript">functioncountDown(secs){jump.innerText=secs;if(--secs>0)setTimeout( "countDown(" +secs+ ")" ,1000);}countDown(3);</script><body><%'下面是定义一些变量,是这些变量从表单页面获取信息webname=Request.Form ("webname")website=Request.Form ("website")key=Request.Form ("key")email=Request.Form ("email")message=Request.Form ("message")' 下面就是调用从表单页获取的信息,赋值到mess,&是连接符,vbcrlf表示换行回车: mess = mess & "---------------Webmail表单开始-------------------" &vbcrlfmess = mess & "网站名称:" &webname&vbcrlfmess = mess & "网址:" & website &vbcrlfmess = mess & "关键词:" & key &vbcrlfmess = mess & "Email:" & email &vbcrlfmess = mess & "网站介绍:" & message &vbcrlfmess = mess & "---------------Webmail表单结束-------------------" &vbcrlf' 下面是调用Jmail组件的部分,其中邮箱,密码填写正确的,否则发送不成功Set JMail=Server.CreateObject("JMail.Message")JMail.silent = true '则errorcode包含的是错误代码JMail.Logging=True '是否使用日志JMail.Charset="gb2312"JMail.ContentType = "text/plain" 'text/html是超文本格式text/plain是文本格式JMail.MailServerUserName = "xxx123@" '您的邮件服务器登录名JMail.MailServerPassword = "xxxxxxx" '登录密码JMail.From = "xxx123@" '发件人(要填合法正确邮箱才能发出去信件)JMail.FromName = "阿泰ATai" '发件人姓名JMail.AddRecipient "360cold@" '收件人JMail.Subject = "友情链接申请" '主题,JMail.Body = mess '正文,JMail.Send "" 'smtp服务器地址JMail.Priority=3 '1: 最高优先级.2:高3:普通4:低5:最低Set JMail=nothing%><CENTER>提交成功,我们会尽快审核回复,谢谢!</CENTER><p align="center">--- &lt; <font color=blue>3</font>秒钟后自动跳转至主页<a href="">(点击跳转) </a>&gt; ---</p></body></html>。

在asp中发送邮件 表单提交到邮箱 表单发送到邮箱

在asp中发送邮件 表单提交到邮箱 表单发送到邮箱

在asp中发送邮件表单提交到邮箱表单发送到邮箱1.Jmail的用法Jmail的使用说明<%Dim SendStatSendStat = Jmail("wyongzhi@","Test Jmail","Just a test!","US-ASCII","text/plain") Response.Write SendStat%><%'--------------------------------------------------------------------Function Jmail(mailTo,mailTopic,mailBody,mailCharset,mailContentType)'--------------------------------------------------------------------'JMail'--------------------------------------------------------------------'入口参数:'mailTo 收件人email地址'mailTopic 邮件主题'mailBody 邮件正文(内容)'mailCharset 邮件字符集,例如GB2312或US-ASCII'mailContentType 邮件正文格式,例如text/plain或text/html'返回值:'字符串,发送成功后返回OK,不成功返回错误信息'使用方法:'1)设置好常量,即以Const开头的变量'2)使用类似如下代码发信'Dim SendStat'SendStat = Jmail("aa@","测试Jmail","这是一封<br/>测试信!","GB2312","text/html") 'Response.Write SendStat'--------------------------------------------------------------------'***************根据需要设置常量开始*****************DimConstFromNameCn,ConstFromNameEn,ConstFrom,ConstMailDomain,ConstMailServerUserName,ConstMailServerPasswordConstFromNameCn = ""'发信人中文姓名(发中文邮件的时候使用),例如'张三' ConstFromNameEn = ""'发信人英文姓名(发英文邮件的时候使用),例如'zhangsan' ConstFrom = ""'发信人邮件地址,例如'zhangsan@'ConstMailDomain = ""'smtp服务器地址,例如 ConstMailServerUserName = ""'smtp服务器的信箱登陆名,例如'zhangsan'。

ASP二级、三级单表联动(参考模板)

ASP二级、三级单表联动(参考模板)

原文地址:ASP二级、三级单表联动下拉框作者:Kankee007一、表结构Classid ClassName OrderNumber ID1 电脑 1 02 联想 1 13 联想1 1 24 手机 2 05 Nokia 1 46 N80 1 5二、二级联动<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!--#include file="conn.asp" --><html><head><title>asp二级联动下拉框</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><link href="style.css" rel="stylesheet" type="text/css"><style>td{font-size:12px;line-height:120%;color:#353535; font-family:"宋体";}body{font-size:12px;line-height:120%; font-family:"宋体";}</style><%dim countset rs=server.createobject("adodb.recordset")rs.open "select * from [class] order by ordernumber desc",conn,1,1%><script language = "JavaScript" type="text/javascript">var onecount;onecount=0;subcat = new Array();<%count = 0do while not rs.eof%>subcat[<%=count%>] = new Array("<%=trim(rs("classname"))%>","<%= rs("classid")%>","<%=rs("id")%>");<%count = count + 1rs.movenextlooprs.close%>onecount=<%=count%>;function changelocation(locationid){document.myform.class2id.length = 0;var locationid=locationid;var i;for (i=0;i < onecount; i++){if (subcat[i][2] == locationid){ //这句不是很理解document.myform.class2id.options[document.myform.class 2id.length] = new Option(subcat[i][0], subcat[i][1]);}}}</script><script language="JavaScript">function CheckForm(){if(document.myform.class1id.value<=0) {document.myform.class1id.focus();alert("请选择大类!");return false;}if(document.myform.class2id.value<=0) {document.myform.class2id.focus();alert("请选择二类!");return false;}}</script></head><body><form name="myform" method="post" action="product_save.asp?action=add" onSubmit="return CheckForm();" enctype="multipart/form-data"><table width="70%" border="0" align="center" cellpadding="3" cellspacing="0"><tr><td width="13%">选择分类</td><td colspan="2"><%set rs=server.createobject("adodb.recordset")rs.open "select * from [class] where id=0 order by ordernumber desc",conn,1,1 if rs.eof and rs.bof thenresponse.write "请先添加栏目。

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

实验二:表单提交实例一.实验目的掌握ASP中输入输出对象,即Rquest,Response对象二.实验内容1.简单的登录表单提交2.不同方式获取表单内容3.复杂表单的提交三.实验过程一)实例1:将表单form12的内容提交到form2.asp中。

知识点:Request.form的用法步骤:1、在dreamwaver中做好如下的表单。

文件为form122、查看修改其代码:<form name="form1" method="post" action="form2.asp"><p>请输入</p><p>用户名:<input type="text" name="name1"></p><p>密码:<input type="text" name="password"></p><p>&nbsp;</p><p><input type="submit" name="Submit" value="提交"></p></form>带色部份为要修改的部份以post方式发送的表单。

接收时用request.form,此处接收表单文件名为form2.asp3、建立form2.asp:以下代码放入任何位置都可以,也可以直接在记事本中输入,然后修改其后缀。

<%name12=request.form("name1")'与前面form12中的名字要对应mma=request.form("password")response.write name12&"你好!欢迎你的到来!"%>4、运行在form12中输入刘敏。

密码654321观察运行结果及地址栏的变化二)表单提交实例2:用request.querstring方式获取。

知识点:ruqest.querystring的用法。

(其实无论request.form还是request.querystring都可以用request代替.)实验过程:1、将以上表单form12另存为进行修改form1修改的地方,发送方法为get<form name="form1" method="get" action="form2query.asp">2、form2修改为<%name12=request.querystring("name1")mma=request.querystring("password")response.write name12&"你好!欢迎你的到来!"%>比较两者的区别,并查看浏览器地址栏后者地址栏为出现这么一长串:http://localhost/form2query.asp?name1=%B5%D8%C7%F8%D0%D4%B5%C4%C8%B7%C1% BC&password=123456&Submit=%CC%E1%BD%BB也即你所输入的内容出现在地址栏三)实例3:结果显示同一页1、将上述表单form1另存为formself,将其action清空即<form name="form1" method="get" action=" ">2、将form2的代码复制到form1任何地方<%name12=request.querystring("name1")mma=request.querystring("password")response.write name12&"你好!欢迎你的到来!"%>四)实例4:表单用于计算两者数相加:1、表单1的界面为:<form name="form1" method="post" action="add2.asp"><p>请输入两个数</p><p>第一个数:<input type="text" name="add1"></p><p>第二个数:<input type="text" name="add2"></p><p><input type="submit" name="Submit" value="提交"></p></form>2、表单2<%a=request.form("add1")b=request.form("add2")c=cint(a)+cint(b)response.write "ab之和为"&c%>运行结果一、表单功能用于计算你任意输入两个数的和,并将结果显示在自身表单1、做好界面2、在此表单中修改代码:<form name="form1" method="post" action=""><p>请输入两个数</p><p>第一个数:<input type="text" name="add1"></p><p>第二个数:<input type="text" name="add2"></p><p><input type="submit" name="submit" value="提交"></p></form><%if request.form("add1")<>"" thena=request.form("add1")b=request.form("add2")c=cint(a)+cint(b)response.write "ab之和为"&cend if%>如果将其中的if语名部份去掉请观察结果五)、实例5:复杂一点的表单提交1、test6_7.asp:这是表单界面制作。

制好后需要修改的为带颜色部份,<form name="test" method="post" action="test6_8.asp">姓名<input type="text" name="user_name"><p>性别<input type="radio" name="sex" value="男">男生<input type="radio" name="sex" value="女">女生<p>爱好足球<input type="checkbox" name="love" value="足球">计算机<input type="checkbox" name="love" value="计算机"><p>学校<select name="school"><option></option><option value="北大">北京大学</option><option value="清华">清华大学</option></select><p>备注<TEXTAREA NAME="memo" ROWS="3" COLS="40"></TEXTAREA> <input type="submit" value="提交"></form>2、获取上述表单中填写的内容:test6_8.asp <%dim user_name,sex,love,school,memouser_name=request.form("user_name")sex=request.form("sex")love=request.form("love")school=request.form("school")memo=request.form("memo")response.write "你的个人资料为<p>" response.write user_name & "<p>"response.write sex & "<p>"response.write love & "<p>"response.write school & "<p>"response.write memo & "<p>"%>所有做好的案例都放在站点根目录下查看运行案例实验总结:表单提交,文本框,单选,复选框的输入输出。

相关文档
最新文档