找回密码
 立即加入
搜索

查看: 1244|回复: 6

ASP 编程中非常有用的例子

[复制链接]
冬冬 发表于 2005-6-17 21:49:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转闽南师范大学。

您需要 登录 才可以下载或查看,没有账号?立即加入

×
[face=楷体_GB2312]1.如何用Asp判断你的网站的虚拟物理路径 ) M( _9 _: k' v% `6 @4 ]$ I' ?
答:使用Mappath方法 : G/ ]$ ~0 F5 D4 p3 `9 R* o6 ~
< p align="center" >< font size="4" face="Arial" >< b >
; y# W; l8 e) p2 }  m& V5 cThe Physical path to this virtual website is: 1 \* u8 ?: y+ A0 h: R
< /b >< /font >
$ ~4 B: T; i# d1 J7 ^: k< font color="#FF0000" size="6" face="Arial" >
: H) l  R3 _7 t< %= Server.MapPath("\")% > ! u9 u% R' l" }
< /font >< /p >
- c; q) s) g$ x, x( S; a; g8 V$ ~2.我如何知道使用者所用的浏览器? 5 j& x' y& z( D4 N
答:使用the Request object方法
+ ~% D$ k( i! E8 fstrBrowser=Request.ServerVariables("HTTP_USER_AGENT") " E% S0 i  o# y
If Instr(strBrowser,"MSIE") < > 0 Then , G1 {# j' g' I
  Response.redirect("ForMSIEOnly.htm") % E. O1 V* G! P, W6 U  Z8 e
Else
5 C2 y! z+ R( q3 Z& C; K  Response.redirect("ForAll.htm") 1 F# W( Z- D* ^) ~8 P
End If : u1 u3 |; a% n  `3 q( Y8 o
3.如何计算每天的平均反复访问人数
5 G, y5 R# ^$ B答:解决方法
  Q$ E, V3 {2 V" u6 h6 \< % startdate=DateDiff("d",Now,"01/01/1990")
' X9 d: \# F4 R9 E% c) mif strdate< 0 then startdate=startdate*-1 5 t- N  L: ?4 P. k7 P% F
avgvpd=Int((usercnt)/startdate) % >
" X# }  M0 X) A# I$ Z3 b显示结果
7 p% u' |/ h2 }2 n% {( x% C< % response.write(avgvpd) % > * [0 E* R! }9 C4 _8 b/ K- J  f
that is it.this page have been viewed since November 10,1998 8 N" A# [. D  C( t2 m$ I
4.如何显示随机图象
! {& ^( {1 X5 x# H6 J/ M< % dim p,ppic,dpic $ i6 J3 W$ V, e9 C) y; |2 I
ppic=12 - ]& j1 ~$ P+ Q' G
randomize
0 x  _* b( \$ P! @' Mp=Int((ppic*rnd)+1)
( O2 ?! P* T" G' Y5 |dpic="graphix/randompics/"&p&".gif"
  ]2 d8 o9 |& f) Z% >
* j& S% [; Y& j* U: ^5 h4 b显示
: t- ~. W$ d) o# I< img src="< %=dpic% >" > " \& v, P  t! \
5.如何回到先前的页面
* `% P4 d( P5 t$ _7 j答:< a href="< %=request.serverVariables("Http_REFERER")% >" >preivous page< /a > $ g& w  A0 W  H- J/ W
或用图片如:< img src="arrowback.gif" alt="< %=request.serverVariables("HTTP_REFERER")% >" >
/ v# ]+ V. N& G6.如何确定对方的IP地址
" }8 c+ c" x3 H2 k7 Y答:< %=Request.serverVariables("REMOTE_ADDR)% > - q! X5 y& L1 n/ S, T  U1 y. a0 n
7.如何链结到一副图片上
7 `* l- Z0 M- `  V  @( |+ g答:< % @Languages=vbs cript % >
) ^, u7 v7 d$ t, v# o0 B1 K< % response.expires=0 9 I* g1 K* A4 n
strimagename="graphix/errors/erroriamge.gif"
1 e2 n2 Y# I1 A2 A2 Gresponse.redirect(strimagename) ' N! v  ^' g$ A/ C; _
% >
: n) z5 j5 W' j% H9 x1 W) Y8.强迫输入密码对话框
* ]7 M. U+ k! z: y6 X3 }答:把这句话放载页面的开头 . H6 s5 q6 M( f- }. K8 O
< % response.status="401 not Authorized"
4 ~2 a9 A* v7 \) w: L7 q- O' ?5 Kresponse.end
* J; y# R, t* R. A, u% >
6 w4 [& \$ A( C9.如何传递变量从一页到另一页
5 o; l+ {2 M: F& _4 ^答:用 HIDDEN 类型来传递变量 7 ?: D( z. O5 [- x4 x
< % form method="post" action="mynextpage.asp" > 4 [4 B- E4 T" H$ b
< % for each item in request.form % >
: ?9 W5 x7 C8 @* d4 [< input namee="< %=item% >" type="HIDDEN"
8 J! j" F, V. v2 `value="< %=server.HTMLEncode(Request.form(item)) % >" >
: P; y/ ~% Y9 V- [< % next % > ) O: d# [4 Z  U2 K  i! {+ u
< /form > 0 B: B3 v8 `& u" Q
10.为何我在 asp 程序内使用 msgbox,程序出错说没有权限 ) W- z. ^& N9 X0 d" v8 K( k. Q
答:由于 asp 是服务器运行的,如果可以在服务器显示一个对话框,那么你只好等有人按了确定之后,你的程序才能继续执行,而一般服务器不会有人守着,所以微软不得不禁止这个函数,并胡乱告诉你 ( 呵呵) 没有权限。但是ASP和客户端脚本结合倒可以显示一个对话框,as follows:
& _* V: M0 Q' u* l* l; o* H/ g< % yourVar="测试对话框"% >
5 x3 ~4 N! T5 j, _9 n< % s cript language='javas cript' > ! p" s- ~" ?. k* U2 y9 D; c3 }
alert("< %=yourvar% >") 9 q! b7 s- n  S
< /s cript >
+ i, t" S& _: {. q" `11.有没有办法保护自己的源代码,不给人看到
9 J5 ^0 \) I# C4 K8 j答:可以去下载一个微软的Windows s cript Encoder,它可以对asp的脚本和客户端javas cript/vbs cript脚本进行加密。。。不过客户端加密后,只有ie5才能执行,服务器端脚本加密后,只有服务器上安装有s cript engine 5(装一个ie5就有了)才能执行。
$ U. f& L5 N- H12.怎样才能将 query string 从一个 asp 文件传送到另一个?
+ N: ~  [/ P/ k$ D答:前者文件加入下句: Response.Redirect("second.asp?" & Request.ServerVariables("QUERY_STRING")) " W" V1 N+ a8 v% Y4 ^
13.global.asa文件总是不起作用? & ~( D* h% @9 O2 Y
答:只有web目录设置为web application, global.asa才有效,并且一个web application的根目录下 global.asa才有效。IIS4可以使用Internet Service Manager设置application setting 怎样才能使得htm文件如同asp文件一样可以执行脚本代码?
/ s# `- A  k1 A9 x: e6 ~14.怎样才能使得htm文件如同asp文件一样可以执行脚本代码? ) m. S+ d4 H6 T* ?& b
答:Internet Sevices Manager - > 选择default web site - >右鼠键- >菜单属性-〉主目录- > 应用程序设置(Application Setting)- > 点击按钮 "配置"- > app mapping - >点击按钮"Add" - > executable browse选择 \WINNT\SYSTEM32\INETSRV\ASP.DLL EXTENSION 输入 htm method exclusions 输入PUT.DELETE 全部确定即可。但是值得注意的是这样对htm也要由asp.dll处理,效率将降低。
7 Y% _1 G7 C) |" O15.如何注册组件
- x" |+ v0 E; b, h' T6 P答:有两种方法。
4 N: y4 w2 L  L- P第一种方法:手工注册 DLL 这种方法从IIs 3.0一直使用到IIs 4.0和其它的Web Server。它需要你在命令行方式下来执行,进入到包含有DLL的目录,并输入:regsvr32 component_name.dll 例如 c:\temp\regsvr32 AspEmail.dll 它会把dll的特定信息注册入服务器中的注册表中。然后这个组件就可以在服务器上使用了,但是这个方法有一个缺陷。当使用这种方法注册完毕组件后,该组件必须要相应的设置NT的匿名帐号有权限执行这个dll。特别是一些组件需要读取注册表,所以,这个注册组件的方法仅仅是使用在服务器上没有MTS的情况下,要取消注册这个dll,使用:regsvr32 /u aspobject.dll example c:\temp\regsvr32 /u aneiodbc.dll ; W4 p: G5 c& I  s, r4 n5 v% ?
第二种方法:使用MTS(Microsoft Transaction Server) MTS是IIS 4新增特色,但是它提供了巨大的改进。MTS允许你指定只有有特权的用户才能够访问组件,大大提高了网站服务器上的安全性设置。在MTS上注册组件的步骤如下:
$ ~( ~% C& h. a" @' G1) 打开IIS管理控制台。 8 w& k0 P/ v' X7 d
2) 展开transaction server,右键单击"pkgs installed"然后选择"new package"。 & Y  x' n0 l' \4 T% E; c
3) 单击"create an empty package"。 " m0 q1 n/ f" J  H& f+ U8 j
4) 给该包命名。
3 @" k$ L" T# k4 t; L* z8 `$ c9 U0 {5) 指定administrator帐号或则使用"interactive"(如果服务器经常是使用administrator 登陆的话)。 : a. l1 A( s6 n
6) 现在使用右键单击你刚建立的那个包下面展开后的"components"。选择 "new then component"。
! h) B$ [5 @& g9 d7) 选择 "install new component" 。
4 I* {5 e" [) t/ S9 @8) 找到你的.dll文件然后选择next到完成。
- Z1 e( k( Y+ y7 ~) K5 e- D要删除这个对象,只要选择它的图标,然后选择delete。 1 [0 K' ^" [( w9 M6 S( M
附注:特别要注意第二种方法,它是用来调试自己编写组件的最好方法,而不必每次都需要重新启动机器了。( N3 X6 s- V1 _* Q- O: @2 w3 p
16. ASP与Access数据库连接: 5 p( N# M  ]* C$ ~7 q
<%@ language=VBs cript%>
! g) W" l8 n7 Z+ }% u0 s! i<% 2 \; B$ H2 U9 L" s) ^8 y, [
dim conn,mdbfile
- }6 @1 G& l9 H5 x9 y1 p9 Jmdbfile=server.mappath("数据库名称.mdb")
3 A! C  M: f& w' v7 G& ~set conn=server.createobject("adodb.connection")
% t- _) w0 l1 f6 j3 ^0 Uconn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbfile
; L0 M; B1 \8 v" G  y3 [%> : f( B& q! ?+ _$ [# g
17. ASP与SQL数据库连接: ; z, u" L: f/ Y) [4 @9 A8 K0 ]5 I
<%@ language=VBs cript%> 1 d7 q: R7 P* S5 {9 u' ]8 y6 r' s5 I
<%
, R6 y, V, n$ Rdim conn
3 z. ^1 T. g1 N3 g+ Cset conn=server.createobject("ADODB.connection")
! x# P1 r% O& Wcon.open "ROVIDER=SQLOLEDB;DATA SOURCE=SQL服务器名称或IP地址;UID=saWD=数据库密码;DATABASE=数据库名称
9 X& [7 J6 s1 c%>
9 D4 {; d1 z3 i& L1 |4 b8 d7 V建立记录集对象:
$ F. R' O: O8 K' e. Cset rs=server.createobject("adodb.recordset")
* M5 \, [2 |4 i' M5 vrs.open SQL语句,conn,3,21 Q' i) _, [/ C+ V# p
18. SQL常用命令使用方法:  ( H3 D4 I, M4 f7 P' ]
(1) 数据记录筛选: 7 L  |5 G$ _$ j+ Q
sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"
; f; Y; x" z% m4 [9 xsql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]" $ t; f" _' `) f5 y, ]$ n
sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"
+ \  `9 m& {. U0 ?! lsql="select * from 数据表 where 字段名 in ('值1','值2','值3')"
' t1 M7 y7 Z$ y9 k4 m6 {sql="select * from 数据表 where 字段名 between 值1 and 值2"
- D% @, h' X6 I(2) 更新数据记录: + n! a0 y2 {5 a1 g8 p! T7 B" G
sql="update 数据表 set 字段名=字段值 where 条件表达式"
/ Q# f( q" J# [$ S, U. dsql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式" ( o( f% }) ^- N; X7 b4 B1 Y' D! m
(3) 删除数据记录: % v' _* m; |% }: q3 e9 q
sql="delete from 数据表 where 条件表达式"
. h' m, c4 u, o" ?- i% \& Xsql="delete from 数据表" (将数据表所有记录删除) 1 {* z. `8 K- j8 X6 v9 x5 Z. }4 B
(4) 添加数据记录: $ t7 W: M8 m* W
sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)" ' D0 L, Q: p  G( s6 [" ?/ }7 T
sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表) # {9 B0 Z3 K8 Q# R) r
(5) 数据记录统计函数:
! k4 t; J- b8 E; x9 Z# UAVG(字段名) 得出一个表格栏平均值 $ z2 R  R8 O0 L3 p
COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计
. z: y% k/ E9 D' O+ T$ a& N2 NMAX(字段名) 取得一个表格栏最大的值
* }  D- @& ~2 }# X7 u6 q, }; VMIN(字段名) 取得一个表格栏最小的值
' R* x5 M2 ?& R7 J" u! N% ?SUM(字段名) 把数据栏的值相加
" f* F$ d5 {9 [) b引用以上函数的方法:
2 p5 n, ^1 g$ c* M" f, Psql="select sum(字段名) as 别名 from 数据表 where 条件表达式" 5 U* f# |( k- }. @" a" }
set rs=conn.excute(sql) 0 k3 z) y, @  q7 E
用 rs("别名") 获取统的计值,其它函数运用同上。 4 I3 E5 w: h; F- ]! S9 M
(5) 数据表的建立和删除:
* c- j: @# J, M5 W  j7 B6 XCREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )
1 B% F7 X: P0 C1 e7 H$ l3 J( B3 w! O例:CREATE TABLE tab01(name varchar(50),datetime default now()) 4 G6 u1 u/ y4 s. T  [6 a
DROP TABLE 数据表名称 (永久性删除一个数据表)
4 X' g. N/ W8 t3 i19. 记录集对象的方法: ) @) @. A0 R8 s/ N/ R' Z7 b
rs.movenext 将记录指针从当前的位置向下移一行 ! T  i  @" R' H8 N: g
rs.moveprevious 将记录指针从当前的位置向上移一行
% x5 j1 W* d  Drs.movefirst 将记录指针移到数据表第一行 9 |" N. X; W0 r9 L
rs.movelast 将记录指针移到数据表最后一行
1 I/ W0 B6 G+ i0 h! Lrs.absoluteposition=N 将记录指针移到数据表第N行 ( l; N4 l: ~3 h! H0 l5 ~
rs.absolutepage=N 将记录指针移到第N页的第一行 ' H! s. q2 ]( c% G! ^$ s8 `& `
rs.pagesize=N 设置每页为N条记录
* |" T' K8 Y! F# x5 }: drs.pagecount 根据 pagesize 的设置返回总页数
, ]/ z5 C0 N- l; P( g2 Vrs.recordcount 返回记录总数
8 Y2 y) Z1 T. R, L! r% }- Prs.bof 返回记录指针是否超出数据表首端,true表示是,false为否
+ ~3 u3 y4 F6 K+ Irs.eof 返回记录指针是否超出数据表末端,true表示是,false为否
1 ~% s  v4 y/ r9 qrs.delete 删除当前记录,但记录指针不会向下移动
4 j) L. r. c6 crs.addnew 添加记录到数据表末端 9 d% q% ^/ M+ R) o# I
rs.update 更新数据表记录
$ F5 B- {- A0 w, @5 m  J20 Recordset对象方法 4 @1 q/ {# j+ E; ]
Open方法
. Z* |6 H6 H1 e- w) ^3 C* jrecordset.Open Source,ActiveConnection,CursorType,LockType,Options / D" Y2 T/ u0 {+ \8 U* w- t% C
Source + Y! U. o! Q  C* y* `0 p
Recordset对象可以通过Source属性来连接Command对象。Source参数可以是一个Command对象名称、一段SQL命令、一个指定的数据表名称或是一个Stored Procedure。假如省略这个参数,系统则采用Recordset对象的Source属性。 " S' Y/ {* m4 ~, A; g
ActiveConnection
; ?6 c6 _* S% ]9 B5 v$ XRecordset对象可以通过ActiveConnection属性来连接Connection对象。这里的ActiveConnection可以是一个Connection对象或是一串包含数据库连接信息(ConnectionString)的字符串参数。 ! C1 y; h. {5 W4 [( m
CursorType
/ `# M2 o7 |4 _0 `2 DRecordset对象Open方法的CursorType参数表示将以什么样的游标类型启动数据,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述如下:
& W8 a+ T0 b6 |& |. r# J8 u常数 常数值 说明
. ?: _& c4 }, RadOpenForwardOnly 0 缺省值,启动一个只能向前移动的游标(Forward Only)。
7 f5 m+ q' ^  n% W& A& @  ladOpenKeyset 1 启动一个Keyset类型的游标。 & v  ]7 C9 `% e* e0 B2 N
adOpenDynamic 2 启动一个Dynamic类型的游标。
& k/ t9 |9 a. \! u' Q8 qadOpenStatic 3 启动一个Static类型的游标。
( H0 L, L2 }0 n) x. k3 p 2 P' b, A* Q# a7 ^. f! z
以上几个游标类型将直接影响到Recordset对象所有的属性和方法,以下列表说明他们之间的区别。 . }) D0 U6 ^% B+ u  H
Recordset属性 adOpenForwardOnly adOpenKeyset adOpenDynamic adOpenStatic
. n# a5 r5 ]9 G0 I9 m9 v ! q& U" Q5 Y" h6 k9 t) r0 l
AbsolutePage 不支持 不支持 可读写 可读写
( r7 r# T6 N7 i2 i% uAbsolutePosition 不支持 不支持 可读写 可读写 6 J  l- j$ c  q* ]5 e  d' t0 t: n, {
ActiveConnection 可读写 可读写 可读写 可读写 3 a( ~( Q3 h% E( ^, {/ I8 Q
BOF 只读 只读 只读 只读 8 [' U: e  N% |2 p) j
Bookmark 不支持 不支持 可读写 可读写
8 w2 ?+ j6 W: N3 _3 M; SCacheSize 可读写 可读写 可读写 可读写   |) t1 A1 x/ }% d; X# X
CursorLocation 可读写 可读写 可读写 可读写 0 j$ k8 _7 c" B3 Q
CursorType 可读写 可读写 可读写 可读写 " I4 n! E6 U* k- W, n6 J
EditMode 只读 只读 只读 只读 , `5 o" J8 q3 c, z6 ?; t
EOF 只读 只读 只读 只读
# r, |. D  _$ ]/ ~( O9 l/ xFilter 可读写 可读写 可读写 可读写
( A' v1 ^6 H8 ?LockType 可读写 可读写 可读写 可读写 ! D. _8 m- f0 s
MarshalOptions 可读写 可读写 可读写 可读写
: C% A: ^1 e& Z0 o- W4 I! [' wMaxRecords 可读写 可读写 可读写 可读写 " J7 ~% x" S! r, H2 j
PageCount 不支持 不支持 只读 只读
/ m2 k* g8 @. b+ t9 JPageSize 可读写 可读写 可读写 可读写 % u5 W- X1 g! Y- Q) _
RecordCount 不支持 不支持 只读 只读 4 q5 P/ l/ t: x. [$ c
Source 可读写 可读写 可读写 可读写 7 ]6 ?" g, b2 Y1 G% E; O
State 只读 只读 只读 只读 7 h7 s  t$ i1 X1 a' C. {% p; b( ]
Status 只读 只读 只读 只读 3 ^5 B5 M4 T. z- p# K! \
AddNew 支持 支持 支持 支持 0 T: {$ E7 _! T9 c. R- ?" C
CancelBatch 支持 支持 支持 支持 6 v$ L/ a2 E( y* P- j
CancelUpdate 支持 支持 支持 支持 ) J4 M1 w3 K7 i. x. g+ k4 F) k2 m: l
Clone 不支持 不支持 7 E0 n7 ~  R3 ^# {
Close 支持 支持 支持 支持 7 I4 g, O* W. ~- v# A- x) k
Delete 支持 支持 支持 支持
8 @' M( i# Z. i' N2 HGetRows 支持 支持 支持 支持 / v! w1 l: H; n* e1 }
Move 不支持 支持 支持 支持
6 t9 n6 w2 X' v% M  r' kMoveFirst 支持 支持 支持 支持
9 ^* c: I# W+ k& h/ b: v  W* HMoveLast 不支持 支持 支持 支持
5 Y5 c0 u* `+ T; KMoveNext 支持 支持 支持 支持 2 l  H3 k' O; [1 t
MovePrevious 不支持 支持 支持 支持
; ]$ M( Y- `; m; R+ Z# Z0 jNextRecordset 支持 支持 支持 支持
- H; o  d- m0 }. ~Open 支持 支持 支持 支持 % H  ~$ J6 l  U
Requery 支持 支持 支持 支持 + |( n0 ^, e) I! |* Z5 w
Resync 不支持 不支持 支持 支持 + x+ s2 \, w. j' N! y
Supports 支持 支持 支持 支持
0 ~/ ~' N: `7 p+ DUpdate 支持 支持 支持 支持
+ b$ a1 M9 x8 K; L- QUpdateBatch 支持 支持 支持 支持
: A5 m4 `& i0 m0 P其中NextRecordset方法并不适用于Microsoft Access数据库。 6 x# t% |! o) b/ C( q6 a7 ]
LockType % ~! j6 F$ z- ^) |9 ^0 q& \
Recordset对象Open方法的LockType参数表示要采用的Lock类型,如果忽略这个参数,那么系统会以Recordset对象的LockType属性为预设值。LockType参数包含adLockReadOnly、adLockPrssimistic、adLockOptimistic及adLockBatchOptimistic等,分述如下: ! R- _0 Z; O8 b
常数 常数值 说明
( {8 q- X/ ^" P; JadLockReadOnly 1 缺省值,Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法 6 _+ y4 |! {: ^, f& h
adLockPrssimistic 2 当数据源正在更新时,系统会暂时锁住其他用户的动作,以保持数据一致性。 ; [- i* M& b$ f1 s  s" C2 a
adLockOptimistic 3 当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。
+ G( n5 z/ h; T% q5 G( iadLockBatchOptimistic 4 当数据源正在更新时,其他用户必须将CursorLocation属性改为adUdeClientBatch才能对数据进行增、
) M# L: Q3 N" S( G1 f0 @删、改的操作。[/face]
宣传/支持龙江曦月.龙江曦月需要理解,适宜长居
SeAsOn` 发表于 2005-6-18 01:15:30 | 显示全部楼层
偶对ASP没啥研究.. 很多都看不懂..
宣传/支持龙江曦月.龙江曦月需要理解,适宜长居
回复

使用道具 举报

youzili 发表于 2005-6-18 06:09:26 | 显示全部楼层
我怎么看了想是他的课堂笔记整理啊[em04]( ?* s' y% R  y% }+ U, T; `% g
我们是有学用 VB.NET 语言做 ASP.NET  感觉这些东西都很熟啊
宣传/支持龙江曦月.龙江曦月需要理解,适宜长居
回复

使用道具 举报

 楼主| 冬冬 发表于 2005-6-19 18:50:15 | 显示全部楼层
是啊
0 ~' K& B, Y; O2 Z不过,我已经工作啦!
宣传/支持龙江曦月.龙江曦月需要理解,适宜长居
回复

使用道具 举报

没有明天 发表于 2005-6-24 20:36:24 | 显示全部楼层
[B]以下是引用[I]youzili[/I]在2005-6-17 22:09:26的发言:[/B][BR]我怎么看了想是他的课堂笔记整理啊[em04]
: l& }) y( M9 g( J- N/ B& `我们是有学用 VB.NET 语言做 ASP.NET  感觉这些东西都很熟啊

" X+ J) {5 V! c5 k, A* P+ A. ]本來二者就有相同之處,.net平臺是微軟2000才開發的,後來的東西繼承先前的是正常的。
宣传/支持龙江曦月.龙江曦月需要理解,适宜长居
回复

使用道具 举报

hyc0214 发表于 2005-6-29 20:06:55 | 显示全部楼层
唉,N年前就看过了啊!
宣传/支持龙江曦月.龙江曦月需要理解,适宜长居
回复

使用道具 举报

dream 发表于 2005-7-2 22:45:29 | 显示全部楼层
很多没答案的哦
宣传/支持龙江曦月.龙江曦月需要理解,适宜长居
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

手机版|龙江曦月 ( 闽ICP备05009150号-1 )闽公安网备35060202000316

GMT+8, 2025-5-26 11:41 , Processed in 0.056330 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表