欢迎光临
我们一直在努力

使用asp+中的若干问题及解决方案

建站超值云服务器,限时71元/月

/*

如果您想转载 这篇文章,请注意不要删除这句话,以表示 对 豆腐 工作的 尊重

www.asp888.net 豆腐技术站

豆腐制作 都是精品

*/

综述:

在这篇文章里 豆腐 简单扼要的讲了一下在asp+编程中我们可能要遇到的问题以及遇到这些问题的解决方法,相信大家 在

看完这篇文章以后,对于asp+的编程就会觉得是非常的

简单,我在这篇文章文章中主要讲了一些比较中级的应用,如果您对于asp+目前还是处于入门阶段,建议您去

www.asp888.net或者www.chinaasp.com/sqlbbs的精华区看看豆腐的几篇关于asp+ 的入门文章,赶快学习asp+ 吧,他已经

流行 3 个月了,快!!!!

1 如何使用 asp+ 获取提交的form元素

我们首先来利用一个很简单的例子来说明 一下 asp+ 给我们带来的 server-side control 的好处

首先我们写一个form 为了方便起见,我不在 描述 <html> 等和我们的文章没有直接关系的标签

代码:

———————————————————————

<script language="vb" runat="server"> sub test(sender as object, args as

eventargs) sender , args 这两个 参数是 click 事件的参数 response.write ("您的名称是 : " &

txtname.value & " .”) response.write ("您填写的email是: " & txtemail.value &".") end

sub </script> <form method=post> <table align = 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> <input type="submit"

value="提交" runat="server" onserverclick="test"> </td></tr> </table> </form>

———————————————————————-

这样我们写的程序 就如同 一个 vb 的 frm 一样(据说在 vb 7.0 中的确会增加这样的功能)

有的人也会说他们非常希望 和 以前的 asp 程序保持 连续性,没有关系,如果 您 不喜欢使用

txtname.value 这样的语法的话,仍然可以使用 request.form(txtname),怎么样,够cool 吧。

2。asp+ 中处理 数据库

asp+ 引入了很多的 server-side 的数据库组件,就如同我们在 vb 的的数据库控件dblist,dbgrid 一样

如果在 vi 中使用过 rds 组件的话,大家一定对ms 很早就想 推出的这个东东 有一个 大致的了解了,不过

asp+ 就是asp+ 不是asp,ms 确实有大动作在 asp 上做

代码:

———————————————————————-

<%@ page language="vb"%> <%@ import namespace="system.data" %> <%@ import

namespace="system.data.ado" %> <script language="vb" runat="server"> sub search_onclick(sender as

object, e as eventargs) 这底下的语句告诉我们,在asp+ 中我们终于可以 放弃variant 这种效率低下的数据类

型了 dim connobj as adoconnection dim dtscmdobj as adodatasetcommand dim dtsobj as

dataset dim str_sql as string dim conn_str as string str_sql = "select * from

table_name" conn_str = "dbq=" & server.mappath("database.mdb") &_ ";driver={microsoft

access driver (*.mdb)};" connobj = new adoconnection(conn_str) dtscmdobj = new adodatasetcommand

(str_sql, connobj) dtsobj = new dataset() dtscmdob.filldataset(dtsobj, "test")

dtgrid.datasource = dtsobj.tables("test").defaultview dtgrid.databind() end

sub</script><html><body><form action="db.aspx" method="post" runat="server"><asp:button type="submit"

id="query" text="查询" onclick="query_onclick" runat="server" /></form><asp:datagrid id="dtgrid"

headerstyle-font-bold="true" tooltip="data grid provided with asp+" runat="server"

maintainviewstate="false" /></body></html>

———————————————————————-

看到了吗??这不是vb 是什么???有的朋友可能在 vb 下就很不 习惯 vb 的 数据绑定,不错,asp+也提供了 一个叫

做 dataset 的集合(object)

我们刚才也已经看到了,

我们可以不使用bdatabind() 方法,直接用 response.write 写出来,lets look!

代码:

———————————————————————-

<%@import namespace="system.data.sql"%> <script language="vb" runat="server"> sub displaydata()

dim dtreader as sqldatareader dim sqlcmd as sqlcommand dim sqlserver as string dim sql as

string sqlserver = "server=my.sql.database;uid=userid;password=password;" sql = "select * from

table_name" sqlcmd = new sqlcommand(sql,sqlserver) sqlcmd.activeconnection.open()

sqlcmd.execute(dtreader) response.write("再进行数据库open后,我们来显示这个table 的某一个字段的数

值") while dbread.read() response.write (dtreader.item("test_column") & "<br>") end while

end sub</script>

———————————————————————-

我们已经看到了 如何将数据库里的 数值从数据库中 读取出来,我们 再来看 一个例子,看看是如何

修改数据库的内容的

代码:

———————————————————————-

<%@ import namespace="system.data" %> <%@ import namespace="system.data.sql" %> <html> <body>

<script language="vb" runat="server"> sub page_load(src as object, e as

eventargs ) ‘这个事件在 页面载入的 时候 触发 dim myconnection as

sqlconnection myconnection = new sqlconnection("server=sqlserver; uid=sa; pwd=;

database=test") dim mycommand as sqlcommand dim sql as string

sql="insert into test(testcol) values(1234)" sql="update test set

testcol=1234" sql="delete from test" mycommand = new sqlcommand("insert into test

(testcol) values (1234)", myconnection) myconnection.open()

mycommand.execute() myconnection.close() response.write("更新数据成

功") end sub </script> </body> </html>

———————————————————————-

数据库搞完了,我们下面来看看 如何 进行一些 在 asp+ 无法实现的 功能

3.上传,发送email 和 操作 socket

在前面的文章中,我已经举过了 上传和 操作socket 实现 域名查询的完整例子,在这里我们主要看

看用asp 发送email

代码:

——————————————————————————–

<% @page language="c#" %> <% @import namespace="system.web.util" %> <% mailmessage mailmsg = new

mailmessage(); mailmsg.to = "roboo@21cn.com"; //信件的接收人 mailmsg.from = "roboo@21cn.com"; //发

信人 mailmsg.subject = "这是个用 asp+ 发送的 测试信件"; mailmsg.bodyformat = mailformat.text; //说明

信件的格式是 text 格式,我们当然可以设定 mailformat.html mailmsg.body = "带有附件的";

mailmsg.attachments.add(new mailattachment("c:\\test.bmp")); //这就是 附件 smtpmail.send(mailmsg); //

发信 response.write("邮件发送成功");%>

———————————————————————-

4.在asp+中如何进行错误处理?

在asp 中 on error resume next 是我们唯一的处理方式,现在在asp+ 中又会是什么呢?

说来简单,只要我们在页面的前面添加这样的一句,问题就迎刃而解了

<%@page errorpage = "/error.aspx"%>

当出现错误的时候,我们只要统一在 error.aspx 文件中处理即可

5 在asp+ 中处理文本文件,在asp 中我们用 filesystemobject 很方便的就可以处理 文本文件,asp+ 在这个方面继续

发扬的更加方便

代码:

———————————————————————-

<%@ import namespace="system.io" %> <html> <head> <title>asp+ 中 测试读取 文本文件

</title> </head> <body> <% dim readfile as streamreader dim strin as string

readfile = file.opentext( "c:\sample.txt" ) do strin = readfile.readline() response.write(

strin & "<br>" ) loop until strin = null readfile.close%></body></html>

———————————————————————-

是不是很简单,下面再来看看 写文本文件

代码:

———————————————————————-

<%@ import namespace="system.io" %> <html> <head> <title>asp+ 测试 写 文本文件</title>

</head> <body> <% dim writefile as streamwriter writefile = file.createtext

( "c:\sample.txt" ) mywriter.writeline( "这是一个用asp+ 生成的文本文件" ) mywriter.writeline( "豆

腐制作,都是精品" ) mywriter.close response.write( "test.txt 创建 并 写入 成功!" ) %>

</body> </html>

———————————————————————-

终于写完了,通过这篇文章 我们已经可以 根据 文章中 所涉及的 知识,材料和代码 已经可以开发

一个中等难度的 asp+ 站点了,当然 我这里 只是 一些简单的例子 和讲解,具体在 开发的 过程中

大家还是要靠自己 的努力的

如果你 错过了php,后来有因为 jsp 太难,就不要 放弃 asp+ 努力吧,朋友们

———————————————————————-

 作  者:豆腐

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 使用asp+中的若干问题及解决方案
分享到: 更多 (0)