|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。综述:
在这篇文章里豆腐复杂简明的讲了一下在asp+编程中我们大概要碰到的成绩和碰到这些成绩的办理办法,信任人人在
看完这篇文章今后,关于asp+的编程就会以为长短常的
复杂,我在这篇文章文章中次要讲了一些对照中级的使用,假如您关于asp+今朝仍是处于进门阶段,倡议您往
1怎样利用asp+猎取提交的form元素
我们起首来使用一个很复杂的例子来讲明一下asp+给我们带来的server-sidecontrol的优点
起首我们写一个form为了便利起见,我不在形貌<html>等和我们的文章没有间接干系的标签
代码:
--------------------------------------------------------------------------------
<SCRIPTlanguage="VB"runat="server">Subtest(SenderAsObject,ArgsAs
EventArgs)Sender,Args这两个参数是click事务的参数Response.Write("您的称号是:"&
txtName.value&".”)Response.Write("您填写的Email是:"&txtEmail.value&".")End
Sub</SCRIPT><formmethod=post><tablealign=center><tr><td>您的称号:<INPUT
type="text"id="txtName"runat="server"></td></tr><tr><td>您的Email是:<INPUT
type="text"id="txtEmail"runat="server"></td></tr><tr><td><INPUTtype="submit"
value="提交"runat="server"onserverclick="test"></td></tr></table></form>
--------------------------------------------------------------------------------
如许我们写的程序就好像一个vb的frm一样(听说在vb7.0中切实其实会增添如许的功效)
有的人也会说他们十分但愿和之前的asp程序坚持一连性,没有干系,假如您不喜好利用
txtName.Value如许的语法的话,仍旧可使用request.form(txtName),怎样,够Cool吧。
2。ASp+中处置数据库
asp+引进了良多的server-side的数据库组件,就好像我们在VB的的数据库控件DBList,DBGrid一样
假如在VI中利用过RDS组件的话,人人必定对MS很早就想推出的这个东东有一个大抵的懂得了,不外
asp+就是asp+不是asp,MS的确有年夜举措在asp上做
代码:
--------------------------------------------------------------------------------
<%@PageLanguage="VB"%><%@ImportNamespace="System.Data"%><%@Import
Namespace="System.Data.ADO"%><scriptlanguage="VB"runat="server">Subsearch_OnClick(SenderAs
Object,EAsEventArgs)这底下的语句告知我们,在ASp+中我们终究能够保持variant这类效力低下的数据类
型了DimconnobjAsADOConnectionDimdtsCmdobjAsADODataSetCommandDimdtSobjAs
DataSetDimstr_sqlAsStringdimconn_strAsStringstr_sql="select*from
table_name"conn_str="DBQ="&Server.MapPath("database.mdb")&_";Driver={Microsoft
AccessDriver(*.mdb)};"connobj=NewADOConnection(conn_str)dtsCmdobj=NewADODataSetCommand
(str_sql,connobj)dtSobj=NewDataSet()dtsCmdob.FillDataSet(dtsobj,"test")
dtgrid.DataSource=dtsobj.Tables("test").DefaultViewdtgrid.DataBind()End
Sub</script><html><body><formaction="db.aspx"method="post"runat="server"><asp:Buttontype="submit"
id="query"text="查询"runat="server"/></form><asp:DataGridid="dtgrid"
HeaderStyle-Font-Bold="True"ToolTip="dataGridprovidedwithasp+"runat="server"
maintainviewstate="false"/></body></html>
--------------------------------------------------------------------------------
看到了吗??这不是VB是甚么???有的伴侣大概在VB下就很不习气VB的数据绑定,不错,Asp+也供应了一个叫
做DataSet的汇合(Object)
我们方才也已看到了,
我们能够不利用bDataBind()办法,间接用Response.write写出来,LetsLook!
代码:
--------------------------------------------------------------------------------
<%@importnamespace="system.data.SQL"%><SCRIPTLANGUAGE="vb"RUNAT="server">Subdisplaydata()
DimdtReaderASSQLDataReaderDimsqlcmdASSQLCommandDimsqlserverASStringDimsqlAS
Stringsqlserver="server=my.sql.database;uid=userid;password=password;"SQL="Select*from
table_name"sqlcmd=NewSQLCommand(sql,sqlserver)sqlcmd.ActiveConnection.Open()
sqlcmd.execute(dtreader)Response.write("再举行数据库open后,我们来显现这个Table的某一个字段的数
值")WhiledbRead.Read()response.write(dtreader.Item("test_column")&"<br>")EndWhile
EndSub</SCRIPT>
--------------------------------------------------------------------------------
我们已看到了怎样将数据库里的数值从数据库中读掏出来,我们再来看一个例子,看看是怎样
修正数据库的内容的
代码:
--------------------------------------------------------------------------------
<%@ImportNamespace="System.Data"%><%@ImportNamespace="System.Data.SQL"%><HTML><BODY>
<scriptlanguage="VB"runat="server">SubPage_Load(SrcasObject,Eas
EventArgs)‘这个事务在页面载进的时分触发DimmyConnectionas
SQLConnectionmyConnection=newSQLConnection("SERVER=sqlserver;UID=sa;PWD=;
DATABASE=test")DimmyCommandasSQLCommanddimsqlasstring
sql="insertintotest(testcol)values(1234)"sql="updatetestset
testcol=1234"sql="deletefromtest"myCommand=newSQLCommand("INSERTintotest
(testCol)VALUES(1234)",myConnection)myConnection.Open()
myCommand.Execute()myConnection.Close()Response.Write("更新数据成
功")EndSub</script></BODY></HTML>
--------------------------------------------------------------------------------
数据库弄完了,我们上面来看看怎样举行一些在asp+没法完成的功效
3.上传,发送Email和操纵socket
在后面的文章中,我已举过了上传和操纵socket完成域名查询的完全例子,在这里我们次要看
看用Asp发送Email
代码:
--------------------------------------------------------------------------------
<%@PageLanguage="C#"%><%@ImportNamespace="System.Web.Util"%><%MailMessagemailMsg=new
MailMessage();mailMsg.To="roboo@21cn.com";//函件的吸收人mailMsg.From="roboo@21cn.com";//发
信人mailMsg.Subject="这是个用asp+发送的测试函件";mailMsg.BodyFormat=MailFormat.Text;//申明
函件的格局是text格局,我们固然能够设定MailFormat.HtmlmailMsg.Body="带有附件的";
mailMsg.Attachments.Add(newMailAttachment("c: est.bmp"));//这就是附件SmtpMail.Send(mailMsg);//
发信Response.Write("邮件发送乐成");%>
--------------------------------------------------------------------------------
4.在asp+中怎样举行毛病处置?
在asp中onerrorresumenext是我们独一的处置体例,如今在asp+中又会是甚么呢?
说来复杂,只需我们在页面的后面增加如许的一句,成绩就水到渠成了
<%@pageErrorpage="/error.aspx"%>
当呈现毛病的时分,我们只需一致在error.aspx文件中处置便可
5在asp+中处置文本文件,在asp中我们用fileSystemObject很便利的就能够处置文本文件,asp+在这个方面持续
发扬的加倍便利
代码:
--------------------------------------------------------------------------------
<%@importnamespace="system.io"%><html><head><title>ASP+中测试读取文本文件
</title></head><body><%DimreadfileAsStreamReaderDimstrInAsString
readfile=File.OpenText("c:sample.txt")DostrIn=readfile.ReadLine()Response.Write(
strIn&"<br>")LoopUntilstrIn=Nullreadfile.Close%></body></html>
--------------------------------------------------------------------------------
是否是很复杂,上面再来看看写文本文件
代码:
--------------------------------------------------------------------------------
<%@importnamespace="system.io"%><html><head><title>ASP+测试写文本文件</title>
</head><body><%DimwriteFileAsStreamWriterwriteFile=File.CreateText
("c:sample.txt")myWriter.WriteLine("这是一个用asp+天生的文本文件")myWriter.WriteLine("豆
腐制造,都是佳构")myWriter.CloseResponse.Write("test.txt创立并写进乐成!")%>
</body></html>
--------------------------------------------------------------------------------
终究写完了,经由过程这篇文章我们已能够依据文章中所触及的常识,质料和代码已能够开辟
一其中等难度的asp+站点了,固然我这里只是一些复杂的例子和解说,详细在开辟的过程当中
人人仍是要靠本人的勉力的
假如你错过了php,厥后有由于jsp太难,就不要保持asp+勉力吧,伴侣们
asp可以使用微软的activeX使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般 |
|