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

综述:
在这篇文章里 豆腐 简单扼要的讲了一下在asp+编程中我们可能要遇到的问题以及遇到这些问题的解决方法,相信大家 在
看完这篇文章以后,对于asp+的编程就会觉得是非常的
简单,我在这篇文章文章中主要讲了一些比较中级的应用,如果您对于asp+目前还是处于入门阶段,建议您去
1 如何使用 asp+ 获取提交的form元素

我们首先来利用一个很简单的例子来说明 一下 asp+ 给我们带来的 server-side control 的好处
首先我们写一个form 为了方便起见,我不在 描述

 1<html> 等和我们的文章没有直接关系的标签   
 2  
 3  
 4代码:   
 5\--------------------------------------------------------------------------------   
 6  
 7<script language="VB" runat="server"> Sub test(Sender As Object, Args As   
 8EventArgs) 'Sender , Args 这两个 参数是 click 事件的参数 Response.Write ("您的名称是 : '" &   
 9txtName.value & "' .”) Response.Write ("您填写的Email是: '" & txtEmail.value &"'.") End   
10Sub </script> <form method="post"> <table align="center"> <tr><td> 您的名称:<input id="txtName" runat="server" type="text"/> </td></tr> <tr><td> 您的Email 是:<input id="txtEmail" runat="server" type="text"/> </td></tr> <tr><td> <input onserverclick="test" runat="server" type="submit" value="提交"/> </td></tr> </table> </form>   
11  
12\--------------------------------------------------------------------------------   
13  
14  
15这样我们写的程序 就如同 一个 vb 的 frm 一样(据说在 vb 7.0 中的确会增加这样的功能)   
16有的人也会说他们非常希望 和 以前的 asp 程序保持 连续性,没有关系,如果 您 不喜欢使用   
17txtName.Value 这样的语法的话,仍然可以使用 request.form(txtName),怎么样,够Cool 吧。   
18  
192。ASp+ 中处理 数据库   
20  
21asp+ 引入了很多的 server-side 的数据库组件,就如同我们在 VB 的的数据库控件DBList,DBGrid 一样   
22如果在 VI 中使用过 RDS 组件的话,大家一定对MS 很早就想 推出的这个东东 有一个 大致的了解了,不过   
23asp+ 就是asp+ 不是asp,MS 确实有大动作在 asp 上做   
24  
25代码:   
26\--------------------------------------------------------------------------------   
27  

@ Page Language="VB" @ Import Namespace="System.Data" @ Import
Namespace="System.Data.ADO"

 1Object, E As EventArgs) '这底下的语句告诉我们,在ASp+ 中我们终于可以 放弃variant 这种效率低下的数据类   
 2型了 Dim connobj As ADOConnection Dim dtsCmdobj As ADODataSetCommand Dim dtSobj As   
 3DataSet Dim str_sql As String dim conn_str As String str_sql = "select * from   
 4table_name" conn_str = "DBQ=" & Server.MapPath("database.mdb") &_ ";Driver={Microsoft   
 5Access Driver (*.mdb)};" connobj = New ADOConnection(conn_str) dtsCmdobj = New ADODataSetCommand   
 6(str_sql, connobj) dtSobj = New DataSet() dtsCmdob.FillDataSet(dtsobj, "test")   
 7dtgrid.DataSource = dtsobj.Tables("test").DefaultView dtgrid.DataBind() End   
 8Sub</script><html><body><form action="db.aspx" method="post" runat="server"><asp:button id="query" onclick="query_OnClick" runat="server" text="查询" type="submit"></asp:button></form><asp:datagrid headerstyle-font-bold="True" id="dtgrid" maintainviewstate="false" runat="server" tooltip="data Grid provided with asp+"></asp:datagrid></body></html>   
 9  
10\--------------------------------------------------------------------------------   
11  
12  
13看到了吗??这不是VB 是什么???有的朋友可能在 VB 下就很不 习惯 VB 的 数据绑定,不错,Asp+也提供了 一个叫   
14做 DataSet 的集合(Object)   
15我们刚才也已经看到了,   
16我们可以不使用bDataBind() 方法,直接用 Response.write 写出来,Let's Look!   
17  
18代码:   
19\--------------------------------------------------------------------------------   
20  

@import namespace="system.data.SQL"

 1Dim dtReader AS SQLDataReader Dim sqlcmd AS SQLCommand Dim sqlserver AS String Dim sql AS   
 2String sqlserver = "server=my.sql.database;uid=userid;password=password;" SQL = "Select * from   
 3table_name" sqlcmd = New SQLCommand(sql,sqlserver) sqlcmd.ActiveConnection.Open()   
 4sqlcmd.execute(dtreader) Response.write("再进行数据库open后,我们来显示这个Table 的某一个字段的数   
 5值") While dbRead.Read() response.write (dtreader.Item("test_column") & "<br>") End While   
 6End Sub</script>   
 7  
 8\--------------------------------------------------------------------------------   
 9  
10我们已经看到了 如何将数据库里的 数值从数据库中 读取出来,我们 再来看 一个例子,看看是如何   
11修改数据库的内容的   
12  
13  
14  
15代码:   
16\--------------------------------------------------------------------------------   
17  

@ Import Namespace="System.Data" @ Import Namespace="System.Data.SQL"

 1<script language="VB" runat="server"> Sub Page_Load(Src as Object, E as   
 2EventArgs ) ‘这个事件在 页面载入的 时候 触发 Dim myConnection as   
 3SQLConnection myConnection = new SQLConnection("SERVER=sqlserver; UID=sa; PWD=;   
 4DATABASE=test") Dim myCommand as SQLCommand dim sql as string   
 5sql="insert into test(testcol) values('1234')" 'sql="update test set   
 6testcol='1234'" 'sql="delete from test" myCommand = new SQLCommand("INSERT into test   
 7(testCol) VALUES ('1234')", myConnection) myConnection.Open()   
 8myCommand.Execute() myConnection.Close() Response.Write("更新数据成   
 9功") End Sub </script> </body> </html>   
10  
11\--------------------------------------------------------------------------------   
12  
13  
14数据库搞完了,我们下面来看看 如何 进行一些 在 asp+ 无法实现的 功能   
153.上传,发送Email 和 操作 socket   
16在前面的文章中,我已经举过了 上传和 操作socket 实现 域名查询的完整例子,在这里我们主要看   
17看用Asp 发送Email   
18  
19代码:   
20\--------------------------------------------------------------------------------   
21  

@Page Language="C#" @Import Namespace="System.Web.Util" MailMessage mailMsg = new
MailMessage(); mailMsg.To = "[email protected]"; //信件的接收人 mailMsg.From = "[email protected]"; //发
信人 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("邮件发送成功");

1  
2\--------------------------------------------------------------------------------   
3  
4  
5  
64.在asp+中如何进行错误处理?   
7在asp 中 on error resume next 是我们唯一的处理方式,现在在asp+ 中又会是什么呢?   
8  
9说来简单,只要我们在页面的前面添加这样的一句,问题就迎刃而解了   

@page Errorpage = "/error.aspx"

1当出现错误的时候,我们只要统一在 error.aspx 文件中处理即可   
25 在asp+ 中处理文本文件,在asp 中我们用 fileSystemObject 很方便的就可以处理 文本文件,asp+ 在这个方面继续   
3发扬的更加方便   
4  
5  
6代码:   
7\--------------------------------------------------------------------------------   
8  

@ import namespace="system.io"

 1</title> </head> <body> ```
 2 Dim readfile As StreamReader Dim strIn As String   
 3readfile = File.OpenText( "c:\sample.txt" ) Do strIn = readfile.ReadLine() Response.Write(   
 4strIn &amp;amp; "&lt;br/&gt;" ) Loop Until strIn = Null readfile.Close
 5```</body></html>   
 6  
 7\--------------------------------------------------------------------------------   
 8  
 9是不是很简单,下面再来看看 写文本文件   
10  
11  
12代码:   
13\--------------------------------------------------------------------------------   
14  

@ import namespace="system.io"

1</head> <body> ```
2 Dim writeFile As StreamWriter writeFile = File.CreateText   
3( "c:\sample.txt" ) myWriter.WriteLine( "这是一个用asp+ 生成的文本文件" ) myWriter.WriteLine( "豆   
4腐制作,都是精品" ) myWriter.Close Response.Write( "test.txt 创建 并 写入 成功!" ) 

--------------------------------------------------------------------------------

终于写完了,通过这篇文章 我们已经可以 根据 文章中 所涉及的 知识,材料和代码 已经可以开发
一个中等难度的 asp+ 站点了,当然 我这里 只是 一些简单的例子 和讲解,具体在 开发的 过程中
大家还是要靠自己 的努力的

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

Published At
Categories with Web编程
comments powered by Disqus