ASP编程实例

ASP编程实例,第1张

ASP编程实例大全

ASP简单、易于维护 , 是小型页面应用程序的选择 ,在使用DCOM (Distributed Component Object Model)和 MTS(Microsoft Transaction Server)的情况下, ASP甚至可以实现中等规模的企业应用程序。那么asp编程中有哪些实例比较常用呢?下面我为大家汇总ASP编程中庆昌则20个非常有用的例子,一起来学习吧!

1.如何用Asp判断你的网站的虚拟物理路径

答:使用Mappath方法

<%= Server.MapPath("\")%>

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 If

3.如何计算每天的平均反复访问人数

答:解决方法

<% startdate=DateDiff("d",Now,"01/01/1990")

if strdate<0 then startdate=startdate*-1

avgvpd=Int((usercnt)/startdate) %>

显示结果

<% response.write(avgvpd) %>

that is it.this page have been viewed since November 10,1998

4.如何显示随机图象

<% dim p,ppic,dpic

ppic=12

randomize

p=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=0

strimagename="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 是服务器运行的,如果可以在服务器显示一个对话框,那么你只好等有人按了确定之后,你的程序才能继续执行,而一般服务器不会有人守着,所以微软不得不禁止这个函数,并胡乱告诉你 (:) 呵呵) 没有权限。但是ASP和客户端脚本结合倒可以显示一个对话框,as follows:

<% yourVar="测试对话框"%>

<% script language=javas cript>

alert("<%=yourvar%>")

</script>

11.有没有办法保护自己的源代码,不给人看到

答:可以去下载一个微软的Windows s cript Encoder,它可以对asp的脚本和客户端javas cript/vbs cript脚本进行加密。。。不过客户端加密后,只有ie5才能执行,服务器端脚本加密后,只有服务器上安装有s cript engine 5(装一个ie5就有了)才能执行。

12.怎样才能将 query string 从一个 asp 文件传送到另一个?

答:前者文件加入下句: Response.Redirect("second.asp?" &Request.ServerVariables("QUERY_STRING"))

13.global.asa文件总是不起作用?

答:只有web目录设置为web application, global.asa才有效,并且一个web application的根目录下 global.asa才有效。IIS4可以使用Internet Service Manager设置application setting 怎样才能使得htm文件如同asp文件一样可以执行脚本代码?

14.怎样才能使得htm文件如同asp文件一样可以执行脚本代码?

答: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处理,效率将降低。

15.如何注册组件

答:有两种方法。

第一种方法:手工注册 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

第二种方法:使用MTS(Microsoft Transaction Server) MTS是IIS 4新增特色,但是它提供了巨大的改进。MTS允许你指定只有有特权的用户才能够访问组件,大大提高了网站服务器上的安全性设置。在MTS上注册组件的步骤如下:

1) 打开IIS管理控制台。

2) 展开transaction server,右键单击"pkgs installed"然后选择"new package"。

3) 单击"create an empty package"。

4) 给该包命名。

5) 指定administrator帐号或则使用"interactive"(如果服务器经常是使用administrator 登陆的话)。

6) 现在使用右键单击你刚建立的那个包下面展开后的"components"。选择 "new then component"。

7) 选择 "install new component" 。

8) 找到你的`.dll文件然后选择next到完成。

要删除这个对象,只要选择它的图标,然后选择delete。

附注:特别要注意第二种方法,它是用来调试自己编写组件的最好方法,而不必每次都需要重新启动机器了。

16. ASP与Access数据库连接:

<%@ language=VBs cript%>

<%

dim conn,mdbfile

mdbfile=server.mappath("数据库名称.mdb")

set conn=server.createobject("adodb.connection")

conn.open "driver={microsoft access driver (*.mdb)}uid=adminpwd=数据库密码dbq="&mdbfile

%>

17. ASP与SQL数据库连接:

<%@ language=VBs cript%>

<%

dim conn

set conn=server.createobject("ADODB.connection")

con.open "PROVIDER=SQLOLEDBDATA SOURCE=SQL服务器名称或IP地址UID=saPWD=数据库密码DATABASE=数据库名称

%>

建立记录集对象:

set rs=server.createobject("adodb.recordset")

rs.open SQL语句,conn,3,2

18. SQL常用命令使用方法:

(1) 数据记录筛选:

sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"

sql="select * from 数据表 where 字段名 like %字段值% order by 字段名 [desc]"

sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"

sql="select * from 数据表 where 字段名 in (值1,值2,值3)"

sql="select * from 数据表 where 字段名 between 值1 and 值2"

(2) 更新数据记录:

sql="update 数据表 set 字段名=字段值 where 条件表达式"

sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"

(3) 删除数据记录:

sql="delete from 数据表 where 条件表达式"

sql="delete from 数据表" (将数据表所有记录删除)

(4) 添加数据记录:

sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"

sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)

(5) 数据记录统计函数:

AVG(字段名) 得出一个表格栏平均值

COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计

MAX(字段名) 取得一个表格栏最大的值

MIN(字段名) 取得一个表格栏最小的值

SUM(字段名) 把数据栏的值相加

引用以上函数的方法:

sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"

set rs=conn.excute(sql)

用 rs("别名") 获取统的计值,其它函数运用同上。

(5) 数据表的建立和删除:

CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )

例:CREATE TABLE tab01(name varchar(50),datetime default now())

DROP TABLE 数据表名称 (永久性删除一个数据表)

19. 记录集对象的方法:

rs.movenext 将记录指针从当前的位置向下移一行

rs.moveprevious 将记录指针从当前的位置向上移一行

rs.movefirst 将记录指针移到数据表第一行

rs.movelast 将记录指针移到数据表最后一行

rs.absoluteposition=N 将记录指针移到数据表第N行

rs.absolutepage=N 将记录指针移到第N页的第一行

rs.pagesize=N 设置每页为N条记录

rs.pagecount 根据 pagesize 的设置返回总页数

rs.recordcount 返回记录总数

rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否

rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否

rs.delete 删除当前记录,但记录指针不会向下移动

rs.addnew 添加记录到数据表末端

rs.update 更新数据表记录

20、 Recordset对象方法

Open方法

recordset.Open Source,ActiveConnection,CursorType,LockType,Options

Source

Recordset对象可以通过Source属性来连接Command对象。Source参数可以是一个Command对象名称、一段SQL命令、一个指定的数据表名称或是一个Stored Procedure。假如省略这个参数,系统则采用Recordset对象的Source属性。

ActiveConnection

Recordset对象可以通过ActiveConnection属性来连接Connection对象。这里的ActiveConnection可以是一个Connection对象或是一串包含数据库连接信息(ConnectionString)的字符串参数。

ASP网页程序设计中10个非常有用的实例代码

ASP可以与Web数据库以及其它程序进行交互,是一种简单、方便的编程工具。下面由我带来ASP网页程序设计中10个非常有用的实例代码。

1.如何用Asp判友绝断你的网站的.虚拟物理路径

答:使用Mappath方法:<%= Server.MapPath("\")% >

2.我如何知道使用者所用的浏览器

答:使用the Request object方法:

3.如何计算每天的平均反复访问人数

答:解决方法

<% startdate=DateDiff("d",Now,"01/01/1990")

if strdate<0 then startdate=startdate*-1

avgvpd=Int((usercnt)/startdate) % >

显示结果

<% response.write(avgvpd) % >

that is it.this page have been viewed since November 10,1998

4.如何显示随机图象

<% dim p,ppic,dpic

ppic=12

randomize

p=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=vbscript % >

<% response.expires=0

strimagename="graphix/errors/erroriamge.gif"

response.redirect(strimagename)

% >

8.强迫输入密码对话框

答:把这句话放载页面的开头

<% response.status="401 not Authorized"

response.end

% >

9.如何传递变量从一页到另一页

答:用 HIDDEN 类型来传递变量

<% for each item in request.form % >

<input namee="<%=item% >" type="HIDDEN"

value="<%=server.HTMLEncode(Request.form(item)) % >" >

<% next % >

<配歼 /form >

10.怎样才能使得htm文件如同asp文件一样可以执行脚本代码

答: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处理,效率将降低。

ASP NET MVC概念

ASP NET MVC 是微软官方提供的MVC模式 说白了 ASP NET MVC知识开发ASP NET Web

应用程序的一个框架而已 而且其只是一个表示层框架 同时也是微软的第一个开源项目

使用ASP NET开发web应用程序方式

WebForm方式

Asp Net MVC 方式

注意 WebForm方式和Asp Net MVC方式是使用开发web应用程序的两种并行方式 mvc(以下简称mvc)的目的并不是取代WebForm 而是web开发的另外一种选择而已

MVC模式简介

MVC模式是一种表现模式 它将web应用程序分成三个主要组件 即 视图(View) 控制器(Controller)和模型(Model)

M Model主要是存储或者是处理数据的组件

Model其实是实现业务逻辑层对实体类相应数据库 *** 作 如CRUD(Create/Retrieve/Update/Delete) 它包括数据 验证规则 数据访问和业务逻辑等应用程序信息

V View是用户接口层组件 主要是将Model中的数据展示给用户

C Controller处理用户交互 从Model中获取数据并将数据传给指定的View

要点

M和V的实现代码分离 从而使吵轿同一个程序可以使用不同的表现形式 C存在的目的则是确保M和V的同步 一旦M改变 V应该同步更新

控制器隔离了业务逻辑和View耦合 使得业务逻辑和数据规则等很容易改变而不影响到芦碰局前台页面

View和Controller都可以直接请求Model 但是Model不依赖View和Controller

Controller可以直接请求View来显示具体页面 View不依赖Controller

第一个Asp Net MVC程序

案例 下面我们通过向EFFirst数据库的Customer表中添加数据数据并且将所有用户信息展示到对应页面的方式 来书写第一个Asp Net MVC应用程序

Customer表结构

CustId(客户编号) 主键自动增长

CustName(客户姓名)

CustAddress(客户地址)

首先创建MVC 的项目

对解决方案点右键 新建项目 如下图

将项目名称命名为MyMVC 然后点击确定 如下图

选择否 点击确定

接下来对项目的目录结构进行剖析

App_Data在该文件夹下的文件是不同通过URL访问的 起到保护文件的作用

Content:项目用到的素材和样式等的文件夹 例如我们可以将Image文件夹和Css文件夹放到Content文件夹中

Controllers:控制器存储文件夹

Models 模型存放文件夹

Scripts js(javascript)文件存储文件夹

Views 视图存放文件夹

创建控制器UserInfoController

创建视图Register

Register页面对Controller发起请求 请求可以分两种 get和post 所以我们写了两个action 为了方便后续 *** 作 我们可以对action写一个重载 无参的Register()用来处理get请求 带参数的Register(FormCollection collection)用来处理post请求 如下图

然后对无参的Register点右键 选择添陪让加视图菜单项

点击添加按钮 则在Views文件夹中会自动创建出一个名称为UserInfo(和action所在的控制器名称相同)的文件夹 并且在该文件夹下创建一个名称为Register的aspx文件 注意 这里的aspx文件没有后缀名为 cs的文件

在Register中书写代码如下所示

既然是注册页面 必须将用户输入的信息提交到服务器 此时我们可以使用form表单 为其action属性设置属性值为 /UserInfo/Register UserInfo代表的是UserInfoController Register代表UserInfoController下的action 也即是说我们将信息提交到了Register这个action

用户填写完信息后 流程跳转到了UserInfoController 此时我们可以在接收Post请求的action中书写如下代码

说明 return RedirectToAction( Index )作用是跳转到名称为Index的action继续执行

创建action Index和视图Index

用同样的方式对Index点右键 创建View Index

    <style type= text/css >             th td {                 text align: center             }         </style>         <h >微冷的雨 用户详细信息页面</h >         <h >由于顾客的数据肯定会出现多条 因此使用table显示</h >         <table width= % >             <thead>                 <tr>                     <td>编号</td>                     <td>用户姓名</td>                     <td>用户地址</td>                 </tr>             </thead>             <tbody>                <% foreach (var item in (IEnumerable<Customer>)ViewData[ Customer ])                   {%>                      <tr>                          <td><%:item CustId %></td>                          <td><%:item CustName %></td>                          <td><%:item CustAddress %></td>                      </tr>                   <%}                     %>             </tbody>         </table>    View Code    最终我们可以实现如下效果lishixinzhi/Article/program/net/201311/12164


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8216628.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存