aspasp.net 输出 xmltitle和描述的问题,请教asp问题

原创asp.net动态添加网站seo的标题、关键词、描述的方法
曾经用jsp开发的网站一直未能完美的实现修改网站的关键字和描述,一直没让他显示在web前端,网站标题,关键词,描述有利于搜索引擎的搜索。于是就想试试用asp.net怎么实现,花了一个下午的时间总算完美的解决了该问题。
不用数据库时很简单就实现了该功能:
[csharp] &
& & & & & & string keywords = &关键字&; &
& & & & & & string description = &描述&; &
& & & & & & title = &标题&; &
& & & & & &Page.Title = &
& & & & & & //动态添加页面关键字 &
& & & & & & HtmlMeta hm = new HtmlMeta(); &
& & & & & & hm.Name = &keywords&; &
& & & & & & hm.Content = &
& & & & & & Page.Header.Controls.Add(hm); &
& & & & & & //动态添加页面描述 &
& & & & & & HtmlMeta ms = new HtmlMeta(); &
& & & & & & ms.Name = &ms&; &
& & & & & & ms.Content = &
& & & & & & Page.Header.Controls.Add(ms); &
简单实现了该功能后,再深入一点从数据库中获取并修改他:用DataView把数据显示在页面,dv[i][&j&]表示把第i行第j列的数据显示出来。
//查找的方法 &
& & & & public void query() &
& & & & { &
& & & & & & string sql = &select * from sysConfig&; &
& & & & & & DataView dv = JDBC.query(sql); &
& & & & & & title.Text = dv[0][&title&].ToString(); &
& & & & & & keywords.Text = dv[0][&keywords&].ToString(); &
& & & & & & description.Text = dv[0][&description&].ToString(); &
& & & & & & Page.Title = title.T &
& & & & & & string gjz = keywords.T &
& & & & & & string ms = description.T &
& & & & & & //动态添加页面关键字 &
& & & & & & HtmlMeta hm = new HtmlMeta(); &
& & & & & & hm.Name = &keywords&; &
& & & & & & hm.Content = &
& & & & & & Page.Header.Controls.Add(hm); &
& & & & & & //动态添加页面描述 &
& & & & & & HtmlMeta hmms = new HtmlMeta(); &
& & & & & & hmms.Name = &ms&; &
& & & & & & hmms.Content = &
& & & & & & Page.Header.Controls.Add(hmms); &
& & & & &} &
button方法:
[csharp] &
protected void Button1_Click(object sender, EventArgs e) &
& & & & { &
& & & & & & Session[&title&] = title.T &
& & & & & & Session[&keywords&] = keywords.T &
& & & & & & Session[&description&] = description.T &
& & & & & & string sql = string.E &
& & & & & & if (Session[&title&].ToString() == &&) &
& & & & & & { &
& & & & & & & & sql = &insert into sysConfig(title,keywords,description)values('& + Session[&title&] + &','& + Session[&keywords&] + &','& + Session[&description&] + &')&; &
& & & & & & } &
& & & & & & else &
& & & & & & { &
& & & & & & & & sql = &update sysConfig set title='& + Session[&title&] + &',keywords='& + Session[&keywords&] + &',description='& + Session[&description&] + &' where configId=1;&; &
& & & & & & } &
& & & & & & JDBC.Connection(sql); &
& & & & & & string bt = Session[&title&].ToString(); &
& & & & & & string gjz = Session[&keywords&].ToString(); &
& & & & & & string ms = Session[&description&].ToString(); &
& & & & & & Page.Title = &
& & & & & & //动态添加页面关键字 &
& & & & & & HtmlMeta hm = new HtmlMeta(); &
& & & & & & hm.Name = &keywords&; &
& & & & & & hm.Content = &
& & & & & & Page.Header.Controls.Add(hm); &
& & & & & & //动态添加页面描述 &
& & & & & & HtmlMeta hmms = new HtmlMeta(); &
& & & & & & hmms.Name = &ms&; &
& & & & & & hmms.Content = &
& & & & & & Page.Header.Controls.Add(hmms); &
& & & & } &
page_Load方法中就一句话:
[csharp] &
query(); &
前端代码:
&%@ Page Language=&C#& AutoEventWireup=&true& CodeBehind=&test.aspx.cs& Inherits=&webDemo.WebRoot.test& %& &
&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&& &
&html xmlns=&http://www.w3.org/1999/xhtml&& &
&head runat=&server&& &
& & &title&&/title& &
& & &form id=&form1& runat=&server&& &
& & &div& &
& & & & &asp:Label ID=&Label1& runat=&server& Text=&标题:&&&/asp:Label& &
& & & & &asp:TextBox ID=&title& runat=&server&&&/asp:TextBox&&br /& &
& & & & &asp:Label ID=&Label2& runat=&server& Text=&网站关键字:&&&/asp:Label& &
& & & & &asp:TextBox ID=&keywords& runat=&server& &&/asp:TextBox&&br /& &
& & & & &asp:Label ID=&Label3& runat=&server& Text=&网站描述:&&&/asp:Label& &
& & & & &asp:TextBox ID=&description& runat=&server&&&/asp:TextBox&&br /& &
& & & & &asp:Button ID=&Button1& runat=&server& Text=&Button& onclick=&Button1_Click& /& &
& & &/div& &
& & &/form& &
页面源文件:
到此依然没有完美的实现,还不能修改数据。sql语句没写错,为什么还会这样?就是因为加载页面一直实行query()方法,update方法修改完后又被query()方法还原了。有什么方法能让query()方法只是在页面加载时只实行一次呢?用IsPostBack
if(IsPostBack) &
& & & & & & { &
& & & & & & & & &
& & & & & & } &
query(); &
申明:本文为作者原创文章,请珍重作者的劳动成果,转载必须声明!原文网址:http://blog.csdn.net/qianquan003
以下代码来自网上资料:
网站建设中,网站的标题(title)、描述(Description)、关键词(keywords)是非常重要的,尤其是要做推广的企业站,更是要注意其标题和描述,因为现在大多的搜索引擎的排名机制都非常重视这一点。相信对seo从业人员来说以下的title、Description、keywords标签肯定不陌生:
1,首先设置网站的title、Description、keywords标签的变量。
string strT
string strSeoK
string strSeoD
2,然后给变量赋值。
strTitle = &企业网站管理系统Title&;
strSeoKey = &企业网站管理系统Keyword&;
strSeoDescription = &企业网站管理系统Description&;
3,接着在C#的后台事件代码中添加:
& & & & Page.Title = strT
& & & & HtmlMeta desc = new HtmlMeta();
& & & & desc.Name = &Description&;
& & & & desc.Content = strSeoD
& & & & Page.Header.Controls.Add(desc);
& & & & //动态添加页面Keyword
& & & & HtmlMeta keywords = new HtmlMeta();
& & & & keywords.Name = &keywords&;
& & & & keywords.Content = strSeoK
& & & & Page.Header.Controls.Add(keywords);
最后把上面的代码直接放置在Page_Load这个事件中,既可运行查看效果了。当然实际操作中可以根据自己需求进行适当修改。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'ASP应用技巧-ASP+COM不得不注意的问题
大家都知道ASP是一种无类型的脚本语言,而VB,VC,DELPHI等语言开发出来的DLL组件都是强类型的,这样就存在一个问题.这样就会存在问题. 我还是用我遇到的问题来说话吧,我用VB
大家都知道ASP是一种无类型的脚本语言,而VB,VC,DELPHI等语言开发出来的DLL组件都是强类型的,这样就存在一个问题.这样就会存在问题. 我还是用我遇到的问题来说话吧,我用VB写一个类Test,存在一个方法FunA,方法FunA的返回值为一个数组,示例代码: Class Test: Public Function GetStr()
GetStr = Split("a,b,c,d", ",") End Function ASP代码: Dim o Set o=Server.CreateObject("Bqrm.Test") Dim arr arr=o.GetStr() Response.Write(TypeName(arr)) '输出String() Response.Write(IsArray(arr)) '输出True Response.Write(arr(0)) '输出类型不匹配,IsArray返回它是一个数组,可是你不能把它当成一个数组来操作,郁闷啊 但是改一个GetStr方法的代码,就能让它能用,如: Public Function GetStr()
GetStr = Array("a","b","c","d") End Function 改成这样它就不会出错了,不过,有的时候你又不可能把所有的元素都列出来呀,只好写一个函数,把它转换成无类型的数组, Function GetVbsArray(ByVal arr)
If IsArray(arr) Then
Dim arrTmp()
ReDim arrTmp(UBound(arr))
Dim iBound
iBound = 0
For Each tmp In arr
arrTmp(iBound) = tmp
iBound = iBound + 1
GetVbsArray = arrTmp
Erase arrTmp
GetVbsArray = arr
End If End Function 把它放到一个模块里面,然后在返回数组的方法返回前,转换一下如: Public Function GetStr()
GetStr = GetVbsArray(Split("a,b,c,d", ",")) End Function 这样,也就没有问题了. BTW: 这一个问题让我郁闷了一天半啊,是我工作一年来遇到的第二个让我无从着手的问题,虽然解决后不觉得什么,可是在没有解决以前真的以为这是一个多么难的问题,其实是被自己的无知蒙住了双眼.我只会一点VBS,不了解VC,DELPHI,我也就不说那些了,省着招B4.......^_^ASP常见问题及解答(10)
1.关于&table&折行:
&table style=&TABLE-LAYOUT: fixed& width=&200& border=&0& cellspacing=&0& cellpadding=&7& bgcolor=&#f7f7f7&&
&tr&
&td style=&LEFT: 0 WIDTH: 100%; WORD-WRAP: break-word&&
dffadfdaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqsfdffadfdasfdffadfdasfdffadfdasfdffadfdasfdffadfdasfdffadfdasfdffadfdasfdffadfdasfdffadfdasf
&/font&&/td&
&/tr&
&/table&
重点是&WORD-WRAP: break-word&把它去掉再看看就知道了.
2.批量录入在数据库的应用中比较广泛的,关于批量录入的方法也有好多种。
下面我就结合我实际中的应用,谈一下儿我是怎么实现的。
主要用到的是form的集合的概念,通过循环取的所有的集合内数据。
考虑到大家看着方便,我把它集成到了一个页面。
下面是具体的代码:
batchInput.asp
&%
'#####################################
'File Function:批量录入数据
'Author:Myhon
'Date:
'#####################################
'向数据库写入数据
SUB writeData()
dim recCnt,i
dim fieldName1,fieldName2,fieldName3
dim sqlStr,connStr
connStr=&Provider=SQLOLEDB.1;Initial Catalog=myDData Source=User Id=PASSWORD=&
set conn=Server.CreateObject(&ADODB.Connection&)
conn.open connStr
'建立数据库连接
recCnt=request.form(&stu_num&).count
'取得共有多少条记录
'批量录入数据
for i=1 to recCnt
fieldName1=trim(request.form(&fieldName1&)(i))
fieldName2=trim(request.form(&fieldName2&)(i))
fieldName3=trim(request.form(&fieldName3&)(i))
sqlStr=&insert into myTable(fieldName1,fieldName2,fieldName3) values('&
sqlStr=sqlStr & fieldName1 & &','&
sqlStr=sqlStr & fieldName2 & &','&
sqlStr=sqlStr & fieldName3 & &')&
'response.write sqlStr
conn.execute(sqlStr)
next
END SUB
'显示成批录入的界面
SUB InputData()
dim recCnt,i
%&
&form name=&bathInputData& action=&& method=&post&&
&%
recCnt=cint(request.form(&recCnt&))
for i=1 to recCnt
%&
&input type=&text& name=&fieldName1&&
&input type=&text& name=&fieldName2&&
&input type=&text& name=&fieldName3&&
&%
next
%&
&br/&
&input type=&submit& name=&action& value=&提交&&
&/form&
&%
END SUB
'指定要批量录入多少条记录
SUB assignHowMuch()
%&
&!------指定要录入多少条记录--------------&
&form name=&form1& action=&& method=&post&&
您要录入的记录的条数:&input type=&text& name=&recCnt&&
&input type=&submit& name=&action& value=&下一步&&&&
&/form&
&%
END SUB
if request.form(&action&)=&下一步&&& then
Call InputData()
'显示成批录入界面
elseif request.form(&action&)=&提交& then Call writeData()
'向数据库批量写入数据
else
Call assignHowMuch()
'显示指定录入多少条记录的界面
end if
3.以动感下载系统为例:
打开文件 SoftDown.Asp 在:
if request.QueryString(&ID&)=&& then
response.write &不能连接或者没有指定下载软件&
response.end
end if
的上面或者是下面加上下列代码
dim strReferer,domain,splDomain,isHttp
isHttp=false
'本站下载系统网址列表,不要带上http://
domain=&sron.net,61.156.14.223,61.156.14.227&
splDomain=split(domain,&,&)
strReferer=Request.ServerVariables(&HTTP_REFERER&)
for iii = 0 to ubound(splDomain)
if instr(strReferer,trim(splDomain(iii)))&0 then isHttp=True
next
if isnull(strReferer) or isHttp=false then
Response.Write &下载链接来自其他网站,这是不允许的,&a href=&&./&&&请进入本站页面后再进行下载。&/a&&
CloseDatabase
response.end
end if
本站下载系统网址列表 就是访问你下载频道网址里的域名,比如你的下载频道可以用多个网址来访问,所以这里用逗号隔开.
4.无法写入cookie的常见问题
1.确定你的response.cookie代码在第一个&html&之前
2.设置cookies的截止日期response.cookie(&cookiename&).expires =
设置cookie的请求指定路径:
就是说你的cookie写入后,指定路径中的页面才有权得到这个cookie
例如:指定路径response.cookie(&cookiename&).path = &/path&
那么只有path目录中的页面才能得到request.cookie(&cookiename&)
5.vbscript的错误捕捉:
on error resume next
'打开错误捕捉
...
if err.number&&0 then
'err是vbs内置的对象,类似于try catch的exception
'错误被处理了就要及时把错误标记清空
'输出自己的出错信息,或用err.description显示系统出错信息
end if
on error goto 0
'关闭错误捕捉。
6.ServerVariables集合用于得到系统的环境变量用以下程序可以讲ServerVariables集合的所有内容名称都显示出来
&html&
&head&&/head&
&body&
&% for each item in request.servervariables
response.write(&&p&&b&&&item&&&/b&:&)
response.write(request.serverVariables(item))
next
%&
&/body&
&/html&
具体的系统环境变量如下:
Auth_Type
当用户访问一个被保护的脚本时,用于判断是否是一个有效用户
Content_Length
客户端所提交的正文的长度
Content_Type
提交的正文数据类型
Gateway_Interface
服务器所使用的CGI修订版本
Login_User
用户是否以Windows NT帐户登陆
Path_Info
客户端路径信息
Query_String
在一个HTTP请求的查询信息
Remote_Addr
发送请求的远程主机的ip地址,利用此地址可以知道访问这的来源
Remote_Host
发送请求的远程主机名,如果远端服务器不包含该信息,则返回空字符串
Request_Method
数据请求的方法
Script_Map
url的基本部分
Script_Name
执行脚本的虚拟路径
Server_Name
该服务器的名称DNS的别名,IP地址及其制定的url路径
Server_Port
数据请求所使用的端口号
Server_Software 服务器端运行的软件名称及版本号
Server_Protocol
要求信息的协议及修订版本
URL
系统的URL路径
HTTP_REFERER
当通过链接到大当前页面时,HTTP_REFERER header
保存这个用户的来源
8.HTML文件标记
&html&
&head&
&!--&
&title&
&body&
文字排版标记
&br/&
&nobr&
&p&
&pre&
原始文字样式
&center&
&blockquote&
向内缩排
&h&
标题
&strong&,&b&
粗体
&em&,&i&,&cite&
底线
&strike&
删除线
&blink&
文字闪烁
&big&
大型字体
&small&
小型字体
&sup&
文字上标
&SUB&
文字下标
&basefont&
默认字体设置
&font&
更改字体设置
菜单标记
&menu&
选项菜单
&dir&
目录菜单
&lh&
菜单格式(一)
&ul&
菜单格式(二)
&dl&,&dt&,&dd&
说明式菜单
&ol&,&li&
直线与表格标记
&hr&
&table&
&tr&
&td&
&th&
&caption&
超链接标记
&a&
图形标记
&IMG&
框架标记
&FRAME&
定义框架内容
&NOFRAME&
不支持框架声明
表单标记
&FORM&
&INPUT&
&TEXTAREA&
&SELECT&
&OPTION&
SCRIPT
&script&
VBSCRIPT标记索引
基本运算
+
数字加法及字符串连接
-
数字减法
*
数字乘法
/
数字除法
Mod
字符串连接
^
大于或等于
&
小于或等于
&
循环及决策
if ....then
若...则...
if ...then...else
若...则...非
else if...
非若
select case...
群组选择条件
end select
for ... next
计数循环
while...wend
条件循环(一)
do while...loop
条件循环(二)
do...loop while
条件循环(三)
do until...loop
条件循环(四)
do...loop until
条件循环(五)
数学函数
Abs
绝对值
Sgn
正负号
Hex
转换成十六进制
Oct
转换成八进制
Sqr
平方根
Int
取整数
Fix
取整数
Round
取整数
Log
以e为底的对数
Sin
正弦函数
Cos
余弦函数
Tan
字符串处理函数
Len
字符串长度
Mid
取部分字符串
Left
从字符串开头取部分字符串
Right
从字符串结尾取部分字符串
Lcase
转换成小写
Ucase
转换成大写
Trim
清除字符串开头及结尾的空格符
Ltrim
清除字符串开头空格符
Rtrim
清除字符串结尾空格符
Replace
替换字符串部分字符
Instr
判断是否包含于另一个字符串(从起始搜寻)
InstrRev
判断是否包含于另一个字符串(从结尾搜寻)
Space
任意字符数的空格符
String
任意字符数的任一字符
StrReverse
反转字符串
Split
以某字符分割字符串
数据类型转换函数
Cint
转换成整形
Cstr
转换成字符串
转换成常整数
Cbool
转换成布尔函数
Cdate
转换成日期函数
CSng
转换成单精度
CDbl
转换成双精度
日期时间函数
Date
现在日期
Time
现在时间
NOw
现在日期时间
DateAdd
增加日期
DateDiff
两日期差
DateSerial
日期设定
DateValue
日期设定
Year
现在年份
Month
现在月份
Day
现在天
Hour
现在时刻
Minute
现在分钟
Second
现在秒钟
Timer
午夜距现在秒数
TimeSerial
时间设定
TimeValue
时间所属部分
WeekDay
星期名称
MonthName
其它函数
Array
产生数组
Asc
字符ASCII码
Chr
ASCII码字符
Filter
过滤数组
InputBox
输入窗口
Join
合并数组中的元素
MsgBox
信息窗口
Lbound
数组下界
Ubound
定义变量或者数组
Erase
清除数组
ReDim
重新声明数组
Randomize
起始随机数
Rnd
取得随机数
Session对象
IsEmpty
测试Session变量是否存在
TimeOut
设定Session变量生存周期
Abandon
强制清除Session变量
Application对象
IsEmpty
测试Application变量是否存在
Lock
锁定Application变量
Unlock
解除Lock指令的锁定
Cookies对象
Expires
设定Cookies变量的生存周期
Connection对象
Open
打开与数据库的连接
Execute
打开Recordset对象
Close
关闭Connection对象
Recordset对象
movefirst
将记录指针移至第一条
movelast
将记录指针移至最后一条
movenext
将记录指针移至下一条
moveprevious
将记录指针移至上一条
bof
测试是否为recordset的起始
eof
测试是否为recordset的结束
open
打开Recoreset对象
close
关闭recordset对象
fields
读取数据的子对象
fileds.count
字段个数
pagesize
每页记录条数
absolutepage
设定为某页
pagecount
总页数
Absoluteposition 直接跳至某条记录
9.没什么好共享的,但太感动了,把做树型菜单的js函数贴出来,
&SCRIPT language=&JavaScript&&
var lastObj
function expandIt(obj)
{
if(lastObj != null)
if(obj == lastObj)
if(obj.style.display == &none&)
obj.style.display = &&;
obj.style.display = &none&
lastObj.style.display = &none&;
obj.style.display = &&;
obj.style.display = &&;
lastObj = obj
}
&/SCRIPT&
&table width=&100%&
border=&0& cellspacing=&0& cellpadding=&0&&
id = request(&id&)
dim strsql,rs
strsql=&select * from p_type where slanguage=1 and typelevel=1 order by typename&
set rs=fgetrslist(strsql)
do while not rs.eof
&td height=&25& class=&LEFTLINKS&&&img width=&30& height=&0& align=&absmiddle& /&&b&&%if rs(&isleaf&)=0 then%&&a href=&#& onClick=&javascript:expandIt(kb&%=rs(&id&)%&);return false&&&%else%&&a href=&&%=request.ServerVariables(&SCRIPT_NAME&)%&?idtree=&%=rs(&idtree&)%&& &&%end if%&&%=server.HTMLEncode(right((rs(&typename&)&&&),len(rs(&typename&)&&&)-2))%&&/a&&/b&&/td&
IF clng(id)=clng(rs(&id&)) then
&tr id=&kb&%=rs(&id&)%&&&
&tr id=&kb&%=rs(&id&)%&&
style=&display:&&
strsql=&select * from p_type where parentid=&&rs(&id&)&& and slanguage=1 order by typename&
set rs1=fgetrslist(strsql)
do while not rs1.eof
height=&20& class=&LEFTLINKS&&
&img width=&40& height=&0& align=&absmiddle& /&&a href=&&%=request.ServerVariables(&SCRIPT_NAME&)%&?idtree=&%=rs1(&idtree&)%&&id=&%=rs(&id&)%&& &&%=server.HTMLEncode(right((rs1(&typename&)&&&),len(rs1(&typename&)&&&)-2))%&&/a&&/td&&/tr&
rs1.movenext
set rs1=nothing
rs.movenext
set rs=nothing
10.计算网页文本的汉字字数,去掉了表格以外的所有标识。
Function GetLength(strChinese1)
Dim strWord, ascWord, lenTotal
strChinese1 = Trim(strChinese1)
If strChinese1 = && Or Vartype(strChinese1) = vbNull Then
GetLength = 0
Exit Function
lenTotal = 0
For GetLengthi=1 to Len(strChinese1)
strWord = Mid(strChinese1, GetLengthi, 1)
ascWord = Asc(strWord)
If ascWord & 0 or ascWord & 127 then
lenTotal = lenTotal + 1
Elseif ascWord = 63 And strWord && &?& then
lenTotal = lenTotal + 1
Elseif ascWord = 44 And strWord && &,& then
lenTotal = lenTotal + 1
Elseif ascWord = 33 And strWord && &!& then
lenTotal = lenTotal + 1
lenTotal = lenTotal
GetLength = lenTotal
End Function
11.&table width=&95%& cellspacing=&1& cellpadding=&5& align=center bgcolor=999999&
&tr bgcolor=#ffcc00&&td colspan=&2&
height=25&&b&服务器有关的变量&/b&&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top&显示客户发出的所有HTTP标题&/td&&td&&%=request.ServerVariables(&All_Http&)%&&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top&检取ISAPIDLL的metabase路径&/td&&td&&%=request.ServerVariables(&APPL_MD_PATH&)%&&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top&显示站点物理路径&/td&&td&&%=request.ServerVariables(&APPL_PHYSICAL_PATH&)%&&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top&路径信息&/td&&td&&%=request.ServerVariables(&PATH_INFO&)%&&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top&显示请求机器IP地址&/td&&td&&%=request.ServerVariables(&REMOTE_ADDR&)%&&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top&服务器IP地址&/td&&td&&%=Request.ServerVariables(&LOCAL_ADDR&)%&&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top&显示执行SCRIPT的虚拟路径&/td&&td&&%=request.ServerVariables(&SCRIPT_NAME&)%&&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top&返回服务器的主机名,DNS别名,或IP地址&/td&&td&&%=request.ServerVariables(&SERVER_NAME&)%&&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top&返回服务器处理请求的端口&/td&&td&&%=request.ServerVariables(&SERVER_PORT&)%&&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top&协议的名称和版本&/td&&td&&%=request.ServerVariables(&SERVER_PROTOCOL&)%&&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top&服务器的名称和版本&/td&&td&&%=request.ServerVariables(&SERVER_SOFTWARE&)%&&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top&服务器操作系统&/td&&td&&%=Request.ServerVariables(&OS&)%&&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top&脚本超时时间&/td&&td&&%=Server.ScriptTimeout%& 秒&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top&服务器CPU数量&/td&&td&&%=Request.ServerVariables(&NUMBER_OF_PROCESSORS&)%& 个&/td&&/tr&
&tr bgcolor=#efefef&&td valign=top width=30%&服务器解译引擎&/td&&td&&%=ScriptEngine & &/&& ScriptEngineMajorVersion &&.&&ScriptEngineMinorVersion&&.&& ScriptEngineBuildVersion %&&/td&&/tr&
&/table&
12.10进制表示,希望actor2222 (优悠) 能看到
MicrosoftVBscript运行时错误列表(10进制表示)
error # 5 无效的过程调用或参数
error # 5 无效的过程调用或参数
error # 6 溢出
error # 7 内存不够
error # 9 下标越界
error # 10 该数组为定长的或临时被锁定
error # 11 被零除
error # 13 类型不匹配
error # 14 字符串空间不够
error # 17 不能执行所需的操作
error # 28 堆栈溢出
error # 35 未定义过程或函数
error # 48 加载 DLL 时出错
error # 51 内部错误
error # 52 错误的文件名或号码
error # 53 文件未找到
error # 54 错误的文件模式
error # 55 文件已经打开
error # 57 设备 I/O 错误
error # 58 文件已存在
error # 61 磁盘已满
error # 62 输入超出了文件尾
error # 67 文件过多
error # 68 设备不可用
error # 70 没有权限
error # 71 磁盘没有准备好
error # 74 重命名时不能带有其他驱动器符号
error # 75 路径/文件访问错误
error # 76 路径未找到
error # 91 对象变量未设置
error # 92 For 循环未初始化
error # 94 无效使用 Null
error # 322 不能创建必要的临时文件
error # 424 缺少对象
error # 429 ActiveX 部件不能创建对象
error # 430 类不支持 Automation 操作
error # 432 Automation 操作中文件名或类名未找到
error # 438 对象不支持此属性或方法
error # 440 Automation 操作错误
error # 445 对象不支持此操作
error # 446 对象不支持已命名参数
error # 447 对象不支持当前区域设置选项
error # 448 未找到已命名参数
error # 449 参数是必选项
error # 450 错误的参数个数或无效的参数属性值
error # 451 对象不是一个集合
error # 453 未找到指定的 DLL 函数
error # 455 代码资源锁定错误
error # 457 此键已与该集合的一个元素关联
error # 458 变量使用了一个 VBScript 中不支持的 Automation 类型
error # 462 远程服务器不存在或不可用
error # 481 无效图片
error # 500 变量未定义
error # 501 非法赋值
error # 502 对象不能安全用 Script 编程
error # 503 对象不能安全初始化
error # 504 对象不能安全创建
error # 505 无效的或无资格的引用
error # 506 类没有被定义
error # 507 出现一个意外错误
error # 1001 内存不够
error # 1002 语法错误
error # 1003 缺少 ':'
error # 1005 缺少 '('
error # 1006 缺少 ')'
error # 1007 缺少 ']'
error # 1010 缺少标识符
error # 1011 缺少 '='
error # 1012 缺少 'If'
error # 1013 缺少 'To'
error # 1014 缺少 'End'
error # 1015 缺少 'Function'
error # 1016 缺少 'Sub'
error # 1017 缺少 'Then'
error # 1018 缺少 'Wend'
error # 1019 缺少 'Loop'
error # 1020 缺少 'Next'
error # 1021 缺少 'Case'
error # 1022 缺少 'Select'
error # 1023 缺少表达式
error # 1024 缺少语句
error # 1025 语句未结束
error # 1026 缺少整型常数
error # 1027 缺少 'While' 或 'Until'
error # 1028 缺少 'While' 和 'Until'或语句未结束
error # 1029 缺少 'With'
error # 1030 标识符过长
error # 1031 无效数字
error # 1032 无效字符
error # 1033 未结束的字符串常量
error # 1034 注释未结束
error # 1037 无效使用 'Me' 关键字
error # 1038 'loop' 语句缺少 'do'
error # 1039 无效的 'exit' 语句
error # 1040 循环控制变量 'for' 无效
error # 1041 名称重定义
error # 1042 必须是行中的第一个语句
error # 1043 不能为 non-ByVal 参数赋值
error # 1044 调用子程序时不能使用括号
error # 1045 缺少文字常数
error # 1046 缺少 'In'
error # 1047 缺少 'Class'
error # 1048 必须在一个类的内部定义
error # 1049 在属性声明中缺少 Let , Set 或 Get
error # 1050 缺少 'Property'
error # 1051 在所有属性的规范中,变量的数目必须一致
error # 1052 在一个类中不允许有多个缺省的属性/方法
error # 1053 类的初始化或终止程序没有变量
error # 1054 属性的 set 或 let 必须至少有一个变量
error # 1055 错误的 'Next'
error # 1056 'Default' 只能在 'Property' , 'Function' 或 'Sub' 中指定
error # 1057 指定 'Default' 时必须同时指定 'Public'
error # 1058 只能在 Property Get 中指定 'Default'
error # 4096 Microsoft VBScript 编译器错误
error # 4097 Microsoft VBScript 运行时错误
error # 5016 缺少正则表达式对象
error # 5017 正则表达式语法错误
error # 5018 错误的数量词
error # 5019 正则表达式中缺少 ']'
error # 5020 正则表达式中缺少 ')'
error # 5021 字符集越界
13.利用ASP获得图象的实际尺寸的示例
&!--#include virtual=&/learn/test/lib_graphicdetect.asp&--&
&html&&head&
&TITLE&dbtable.asp&/TITLE&
&/head&
&body bgcolor=&#FFFFFF&&
&%
graphic=&images/learnaspiconmain.gif&
HW = ReadImg(graphic)
Response.Write graphic & & Dimensions: & & HW(0) & &x& & HW(1)
& &&br/&&
response.write &&img src=&&/& & graphic & &&&&
response.write height=&&& & HW(0) & &&&
response.write width=&&& & HW(0) & &&&&
%&
&/body&&/html&
The library that is included is:
Function AscAt(s, n)
AscAt = Asc(Mid(s, n, 1))
End Function
Function HexAt(s, n)
HexAt = Hex(AscAt(s, n))
End Function
Function isJPG(fichero)
If inStr(uCase(fichero), &.JPG&) && 0 Then
isJPG = true
Else
isJPG = false
End If
End Function
Function isPNG(fichero)
If inStr(uCase(fichero), &.PNG&) && 0 Then
isPNG = true
Else
isPNG = false
End If
End Function
Function isGIF(fichero)
If inStr(uCase(fichero), &.GIF&) && 0 Then
isGIF = true
Else
isGIF = false
End If
End Function
Function isBMP(fichero)
If inStr(uCase(fichero), &.BMP&) && 0 Then
isBMP = true
Else
isBMP = false
End If
End Function
Function isWMF(fichero)
If inStr(uCase(fichero), &.WMF&) && 0 Then
isWMF = true
Else
isWMF = false
End If
End Function
Function isWebImg(f)
If isGIF(f) Or isJPG(f) Or isPNG(f) Or isBMP(f) Or isWMF(f)
Then
isWebImg = true
Else
isWebImg = true
End If
End Function
Function ReadImg(fichero)
If isGIF(fichero) Then
ReadImg = ReadGIF(fichero)
Else
If isJPG(fichero) Then
ReadImg = ReadJPG(fichero)
Else
If isPNG(fichero) Then
ReadImg = ReadPNG(fichero)
Else
If isBMP(fichero) Then
ReadImg = ReadPNG(fichero)
Else
If isWMF(fichero) Then
ReadImg = ReadWMF(fichero)
Else
ReadImg = Array(0,0)
End If
End If
End If
End If
End If
End Function
Function ReadJPG(fichero)
Dim fso, ts, s, HW, nbytes
HW = Array(&&,&&)
Set fso = CreateObject(&Scripting.FileSystemObject&)
Set ts = fso.OpenTextFile(Server.MapPath(&/& & fichero), 1)
s = Right(ts.Read(167), 4)
HW(0) = HexToDec(HexAt(s,3) & HexAt(s,4))
HW(1) = HexToDec(HexAt(s,1) & HexAt(s,2))
ts.Close
ReadJPG = HW
End Function
Function ReadPNG(fichero)
Dim fso, ts, s, HW, nbytes
HW = Array(&&,&&)
Set fso = CreateObject(&Scripting.FileSystemObject&)
Set ts = fso.OpenTextFile(Server.MapPath(&/& & fichero), 1)
s = Right(ts.Read(24), 8)
HW(0) = HexToDec(HexAt(s,3) & HexAt(s,4))
HW(1) = HexToDec(HexAt(s,7) & HexAt(s,8))
ts.Close
ReadPNG = HW
End Function
Function ReadGIF(fichero)
Dim fso, ts, s, HW, nbytes
HW = Array(&&,&&)
Set fso = CreateObject(&Scripting.FileSystemObject&)
Set ts = fso.OpenTextFile(Server.MapPath(&/& & fichero), 1)
s = Right(ts.Read(10), 4)
HW(0) = HexToDec(HexAt(s,2) & HexAt(s,1))
HW(1) = HexToDec(HexAt(s,4) & HexAt(s,3))
ts.Close
ReadGIF = HW
End Function
Function ReadWMF(fichero)
Dim fso, ts, s, HW, nbytes
HW = Array(&&,&&)
Set fso = CreateObject(&Scripting.FileSystemObject&)
Set ts = fso.OpenTextFile(Server.MapPath(&/& & fichero), 1)
s = Right(ts.Read(14), 4)
HW(0) = HexToDec(HexAt(s,2) & HexAt(s,1))
HW(1) = HexToDec(HexAt(s,4) & HexAt(s,3))
ts.Close
ReadWMF = HW
End Function
Function ReadBMP(fichero)
Dim fso, ts, s, HW, nbytes
HW = Array(&&,&&)
Set fso = CreateObject(&Scripting.FileSystemObject&)
Set ts = fso.OpenTextFile(Server.MapPath(&/& & fichero), 1)
s = Right(ts.Read(24), 8)
HW(0) = HexToDec(HexAt(s,4) & HexAt(s,3))
HW(1) = HexToDec(HexAt(s,8) & HexAt(s,7))
ts.Close
ReadBMP = HW
End Function
Function isDigit(c)
If inStr(&&, c) && 0 Then
isDigit = true
Else
isDigit = false
End If
End Function
Function isHex(c)
If inStr(&ABCDEFabcdef&, c) && 0 Then
isHex = true
Else
ishex = false
End If
End Function
Function HexToDec(cadhex)
Dim n, i, ch, decimal
decimal = 0
n = Len(cadhex)
For i=1 To n
ch = Mid(cadhex, i, 1)
If isHex(ch) Then
decimal = decimal * 16
If isDigit(c) Then
decimal = decimal + ch
Else
decimal = decimal + Asc(uCase(ch)) - Asc(&A&)
End If
Else
HexToDec = -1
End If
Next
HexToDec = decimal
End Function
%&
如果您喜欢本文请分享给您的好友,谢谢!如想浏览更多更好的内容,请登录:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)}

我要回帖

更多关于 asp.net 输出 xml 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信