修改函数checkobj检查myobj是否有checkprop属性,如果属性存在,excel 返回行列对应值属性对应的值

1066人阅读
javascript(44)
JScript 函数
Microsoft Jscript 函数执行操作,也可以返回值。某些时候是计算或比较的结果。函数又被称为“全局方法”。
一个函数中包含有几个操作。这样可使得代码更合理化。可以写一组语句并给其命名,然后通过调用它并传递其需要的信息来运行整组语句。
给函数传递信息可以把信息放在函数名称后面的圆括号中。传递给函数的信息称作参数。某些函数根本不带任何参数,而其他函数带一个或者多个参数。在某些函数中,参数的个数取决于如何使用该函数。
Jscript 支持两种函数:一类是语言内部的函数,另一类是自己创建的。
特殊的内部函数
Jscript 语言包含很多内部函数。某些函数可以操作表达式和特殊字符,而其他函数将字符串转换为数值。一个有用的内部函数是。该函数可以对以字符串形式表示的任意有效的 Jscript代码求值。eval() 函数有一个参数,该参数就是想要求值的代码。下面给出一个使用本函数的示例。
var anExpression = &6 * 9 % 7&;
var total = eval(anExpression); // 将变量 total 赋值为 5。
var yetAnotherExpression = &6 * (9 % 7)&;
total = eval(yetAnotherExpression) // 将变量 total 赋值为 12。
// 将一个字符串赋给 totality (注意嵌套引用)
var totality = eval(&’...surrounded by acres of clams.’&);
有关内部函数的详细信息请参考。
创建自己的函数
在必要的时候,可以创建并使用自己的函数。一个函数的定义中包含了一个函数语句和一个 Jscript 语句块。
下面示例中的 Checktriplet 函数以三角形的边长为参数。通过查看三条边的长度是否可以组成一个毕达哥拉斯三元组(直角三角形斜边长度的平方等于其他两条边长的平方和)来计算该三角形是否为直角三角形。实际测试时 checkTriplet 函数要调用另两个函数中的一个函数。
注意在浮点数测试版本中极小数(“epsilon”)作为测试变量的使用。由于浮点运算的不确定性和舍入误差,除非问题中的三个值均已知为整数,直接测试这三个数是否组成毕达哥拉斯三元组是不可行的。因为直接的测试更为准确,本示例中的代码确定其是否可行,如果可行则使用它。
var epsilon = 0.; // 一些需要测试的极小数字。
// 测试整数的函数。
function integerCheck(a, b, c)
&& // 测试。
&& if ( (a*a) == ((b*b) + (c*c)) )&&
} // 整数检查函数的结尾。
// 测试浮点数的函数。
function floatCheck(a, b, c)&&
&& // 得到测试数值。
&& var delta = ((a*a) - ((b*b) + (c*c)))
&& // 测试需要绝对值
&& delta = Math.abs(delta);
&& // 如果差小于 epsilon,那么它相当接近。
&& if (delta & epsilon)&&
} // 浮点检查函数的末尾。
// 三元检查。
function checkTriplet(a, b, c)
&&&// 创建临时变量,用于交换值
&& var d = 0;
&& // 先将最长的移动到位置“a”。
&& // 需要的话交换 a 和 b
&& if (b & a)
&& // 需要的话交换 a 和 c
&& if (c & a)
&& // 测试全部的 3 个值,看其是否为整数?
&& if (((a % 1) == 0) && ((b % 1) == 0) && ((c % 1) == 0))
&&&&&&// 如果成立,使用精确检查。
&&&&& return integerCheck(a, b, c);
&&&&& // 如果不成立,取尽可能相近的。
&&&&& return floatCheck(a, b, c);
} // 三元检查函数的末尾。
// 下面的三个语句赋给范例值,用于测试。
var sideA = 5;
var sideB = 5;
var sideC = Math.sqrt(50.001);
// 调用函数。调用后,'result' 中包含了结果。
var result = checkTriplet(sideA, sideB, sideC);
JScript对象
Jscript 对象是属性和方法的集合。一个方法就是一个函数,是对象的成员。属性是一个值或一组值(以数组或对象的形式),是对象的成员。Jscript 支持四种类型的对象:、、宿主给出的对象(如 Internet 浏览器中的
window 和 document)以及 ActiveX 对象(外部组件)。
作为数组的对象
在 Jscript 中,对象和数组几乎是以相同的方式处理的。对象和数组均可以被赋予任意值,实际上数组只是一种特殊的对象。数组和对象的区别在于数组有一个“奇妙的”
length 属性,而对象没有。这意味着可以给数组的一个元素赋予比其他元素更大的值。例如,myArray[100] = &hello& — 然后length 属性将自动地被更新为 101(新长度)。同样,如果修改数组的
length 属性,将删除不再是数组部分的元素。
Jscript 中所有的对象均支持“expando”属性或那些可以在运行时动态添加和删除的属性。这些属性可以有包含数字的任意名称。如果属性的名称是简单的标识符&&参考标识符规则&&,可以在对象名称的后面加句点,例如:
var myObj = new Object();
// 添加两个 expando 属性,'name' 和 'age'
myObj.name = &Fred&;
myObj.age = 42;
如果属性名称不是一个简单的标识符,或者在写脚本的时候不知道,可以在方括号中使用任意表达式来索引属性。在 Jscript中所有 expando 属性的名称在被添加到对象之前被转换为字符串。
var myObj = new Object();
// 添加两个无法写在 object.property 语
// 法中的 expando 属性。
// 第一个属性包含无效字符(空格),
// 所以必须写在方括号里。
myObj[&not a valid identifier&] = &This is the property value&;
// 第二个 expando 名称是一个数字,
// 所以也必须写在方括号里。
myObj[100] = &100&;
传统的作法是赋给数组元素以 0 开始的数字索引。这些数组元素与 length 属性相交互。然而,由于所有的数组也是对象,也支持 expando 属性。请注意,虽然如此,expando 属性并不以任何方式与
length 属性相交互。例如:
// 三个元素的数组
var myArray = new Array(3);
// 添加数据
myArray[0] = &Hello&;
myArray[1] = 42;
myArray[2] = new Date();
// 显示数组的长度 3
window.alert(myArray.length);
// 添加某些 expando 属性
myArray.expando = &JScript!&;
myArray[&another Expando&] = &Windows&;
// 仍然显示 3,因为两个 expando 属性
// 并不影响长度。
window.alert(myArray.length);
虽然 Jscript 并不直接支持多维数组,但是可以在数组元素中存储任意种类的数据 — 包含其他数组。所以通过在另一个数组的元素里存储其他数组可以得到多维数组的特性。例如,下面的代码为最大为 5 的数字建立了乘法表:
// 若是更大的表请改变本数
var iMaxNum = 5;
// 循环计数
// 新数组。由于数组从 0 开始计数,
// 而不是 1,所以数组大小为 iMaxNum + 1。
var MultiplicationTable = new Array(iMaxNum + 1);
// 为每个主要的数做循环(表中的每一行)
for (i = 1; i &= iMaxN i++)
&&& // 生成表中的列
&&& MultiplicationTable[i] = new Array(iMaxNum + 1);
&&& // 将乘法的结果存在行中
&&& for (j = 1; j &= iMaxN j++)
&&&&&&& MultiplicationTable[i][j] = i *
window.alert(MultiplicationTable[3][4]); // 显示 12
window.alert(MultiplicationTable[5][2]); // 显示 10
window.alert(MultiplicationTable[1][4]); // 显示 4
创建自己的对象
要创建自己的对象实例,必须首先为其定义一个构造函数。构造函数创建一个新对象,赋予对象属性,并在合适的时候赋予方法。例如,下面的示例为 pasta 对象定义了构造函数。注意
this 关键字的使用,它指向当前对象。
// pasta 是有四个参数的构造器。
function pasta(grain, width, shape, hasEgg)
&&& // 是用什么粮食做的?
&&& this.grain =
&&& // 多宽?(数值)
&&& this.width =&&&&
&&& // 横截面形状?(字符串)
&&& this.shape =&&
// 是否加蛋黄?(boolean)
&&& this.hasEgg = hasE&
定义了对象构造器后,用 new 运算符创建对象实例。
var spaghetti = new pasta(&wheat&, 0.2, &circle&, true);
var linguine = new pasta(&wheat&, 0.3, &oval&, true);
可以给对象实例添加属性以改变该实例,但是用相同的构造器生成的其他对象定义中并不包括这些属性,而且除非你特意添加这些属性那么在其他实例中并不显示出来。如果要将对象所有实例的附加属性显示出来,必须将它们添加到构造函数或构造器原型对象(原型在高级文档中讨论)中。
// spaghetti 的附加属性。
spaghetti.color = &pale straw&;
spaghetti.drycook = 7;
spaghetti.freshcook = 0.5;
var chowFun = new pasta(&rice&, 3, &flat&, false);
// chowFun 对象或其他现有的 pasta 对象
// 都没有添加到 spaghetti 对象
// 的三个新属性。
// 将属性‘foodgroup’加到 pasta 原型对象
// 中,这样 pasta 对象的所有实例都可以有该属性,
// 包括那些已经生成的实例。
pasta.prototype.foodgroup = &carbohydrates&
// 现在 spaghetti.foodgroup、chowFun.foodgroup,等等
// 均包含值“carbohydrates”。
在定义中包含方法
可以在对象的定义中包含方法(函数)。一种方法是在引用别处定义的函数的构造函数中添加一个属性。例如,下面的示例扩充上面定义的 pasta 构造函数以包含
toString 方法,该方法将在显示对象的值时被调用。
// pasta 是有四个参数的构造器。
// 第一部分与上面相同。
function pasta(grain, width, shape, hasEgg)
&&& // 用什么粮食做的?
&&& this.grain =
&&& // 多宽?(数值)
&&& this.width =&&&&
&&& // 横截面形状?(字符串)
&&& this.shape =&&
&&& // 是否加蛋黄?(boolean)
&&& this.hasEgg = hasE&
&&& // 这里添加 toString 方法(如下定义)。
&&& // 注意在函数的名称后没有加圆括号;
&&& // 这不是一个函数调用,而是
&&& // 对函数自身的引用。
&&& this.toString = pastaToS
// 实际的用来显示 past 对象内容的函数。
function pastaToString()
&&& // 返回对象的属性。
&&& return &Grain: & + this.grain + &\n& +
&&&&&&& &Width: & + this.width + &\n& +
&&&&&&& &Shape: & + this.shape + &\n& +
&&&&&&& &Egg?: & + Boolean(this.hasEgg);
var spaghetti = new pasta(&wheat&, 0.2, &circle&, true);
// 将调用 toString() 并显示 spaghetti 对象
// 的属性(需要Internet 浏览器)。
window.alert(spaghetti);
Microsoft Jscript 提供了 11 个内部(或“内置”)对象。它们是Array、Boolean、Date、Function、Global、Math、Number、Object、RegExp、Error
以及 String 对象。每一个对象有相关的方法和属性,这在中有详细的描述。本节中也描述了某些对象。
Array 对象
数组下标可以被认为是对象的属性,它是通过数字索引来引用的。注意添加到数组中的已命名的属性不能通过数字来索引;它们是与数组元素分离的。
使用 new 运算符和
Array() 生成一个新的数组,如下面的示例。
var theMonths = new Array(12);
theMonths[0] = &Jan&;
theMonths[1] = &Feb&;
theMonths[2] = &Mar&;
theMonths[3] = &Apr&;
theMonths[4] = &May&;
theMonths[5] = &Jun&;
theMonths[6] = &Jul&;
theMonths[7] = &Aug&;
theMonths[8] = &Sep&;
theMonths[9] = &Oct&;
theMonths[10] = &Nov&;
theMonths[11] = &Dec&;
用关键字 Array 生成数组时,Jscript包含了
length 属性,该属性记录了数组入口数。如果没有给该属性指定值,则设置长度为 0 且数组没有入口点。如果指定一个数值,则将长度设置为该数。如果指定了不止一个参数,则这些参数被用作数组的入口。另外,参数的数目被赋给 length 属性。如下面的示例与前一个示例是等价的。
var theMonths = new Array(&Jan&,&Feb&, &Mar&, &Apr&, &May&,&Jun&,
&Jul&, &Aug&, &Sep&,&Oct&, &Nov&, &Dec&);
当向用关键字 Array 生成的数组中添加元素时,Jscript 自动改变属性
length 的值。Jscript 中的数组索引总是以 0 开始,而不是 1,所以属性 length通常比数组的最大索引大 1。
String对象
在Jscript 中,可以将字符串(和数)当作对象来处理。 有一些内置方法,可以和自己的字符串一起使用。其中一个是,它返回字符串的一部分。该方法以两个数字作为参数。
aString = &&;
var aChunk = aString.substring(4, 7);& // 将aChunk 设为 &456&。
var aNotherChunk = aString.substring(7, 4);& // 将aNotherChunk 设为 &456&。
// 使用上面生成数组的示例:
firstLetter = theMonths[5].substring(0,1);& // 将变量 firstLetter 设为“J”。
String 对象的另一个属性是
length 属性。本属性包含了字符串中的字符数(空字符串为 0)。它是一个数值,可以直接在计算中使用。
var howLong = &Hello World&.length& // 设置变量 howLong 为 11。
Math 对象有许多预定义属性和方法。属性是特殊的数字。这些特殊的数字之一是 pi 值(近&#259…)。这是
Math.PI 属性,如下例所示。
// 声明一个半径变量并赋数值。
var circleArea = Math.PI * radius *& // 注意 Math 和 PI 大写。
Math 对象的一个内置方法是乘幂方法(或pow),使用该方法求得指定数的幂次。下面的例子同时使用了pi 和乘幂。
// 本公式计算给定半径的球体的体积。
volume = (4/3)*(Math.PI*Math.pow(radius,3));
Date 对象可以被用来表示任意的日期和时间,获取当前系统日期以及计算两个日期的间隔。它拥有一些预定义的属性和方法。通常,Date 对象给出星期;月份,天数和年份;以及以小时,分钟和秒表示的时间。该信息是基于 1970 年1 月 1 日 00:00:00.000 GMT 开始的毫秒数,其中 GMT 是格林威治标准时间(首选术语是 UTC,或者“全球标准时间”,它引用的信号是由“世界时间标准”发布的)。Jscript可以处理
250,000 B.C. 到 255,000 A.D范围内的日期。
使用 new 运算符创建一个新的
Date 对象。下面的示例计算当年已过去的天数和今年剩下的天数。
本示例使用前面定义的月份名称数组。
第一条语句以“Day Month Date 00:00:00 Year”格式
对 thisIsToday 变量赋值。
var thisIsToday = new Date();
var toDay = new Date();&//获取今天的日期。
// 提取年,月,日。
var thisYear = toDay.getFullYear();
var thisMonth = theMonths[toDay.getMonth()];
var thisDay = thisMonth&+ & & + toDay.getDate() + &, & + thisY
Number 对象
除了 Math 对象中可用的特殊数值属性(例如
PI)外,在 Microsoft Jscript 中, Number 对象有几个其他的数值属性。
可能的最大数大约为 1.79E+308;可以是正数或负数。(具体数值随系统不同而有微小差别。)
可能的最小数大约为 2.22E-308;可以是正数或负数。(具体数值随系统不同而有微小差别。)
特殊非数量值,“不是数值”。
POSITIVE_INFINITY
比最大正数(Number.MAX_VALUE)还要大的任意正值自动被转换为此值,代表正无穷大。
NEGATIVE_INFINITY
比最小的负数(负的 Number.MAX_VALUE)还小的任意值被自动转换为此值,代表负无穷。
Number.NaN 是一个特殊的属性,被定义为“不是数值”。例如被 0 除返回
NaN。试图解析一个无法被解析为数字的字符串同样返回Number.NaN。把
NaN 与任何数值或本身作比较的结果都是不相等。不能通过与 Number.NaN 比较来测试
NaN 结果,而应该使用isNaN() 函数。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:237170次
积分:3540
积分:3540
排名:第7826名
原创:113篇
转载:104篇
评论:26条
(1)(1)(14)(12)(3)(2)(2)(1)(1)(6)(2)(8)(1)(7)(1)(3)(3)(15)(3)(16)(7)(3)(1)(8)(11)(7)(1)(1)(2)(2)(6)(1)(5)(3)(2)(17)(5)(4)(1)(5)(14)(7)(4)TA的最新馆藏ActiveServerPage(ASP)常见问题
ActiveServerPage(ASP)常见问题
  问: 如何将认证使用者储存到Session变数(New)  问: ServerVariables("LOGON_USER")传回空值(New)  问: ServerVariables("Remote_Host")传回IP而不是HostName(New)  问: CDO版本摘要介绍  问: 何谓ADSI?  问: 何谓ADsPath?  问: 如何得到LDAP Root DS Entry?  问: 如何侦测浏览器的属性?  问: 如何善用Response.Buffer增进浏览速度?  问: 如何利用Meta Tag来增加文件属性?  问: Server.Transfer和Response.Redirect相异之处?  问: Server.Execute和#include相异之处?  问: 要如何使用ASPError物件?  问: 要如何让以asp程式让Internet Explorer 浏览器不cache?  问: 如何依据浏览器语言版本设定ASP locale ID ?  问: 如何使用ASP/ADO query ODBC DATASOURCE?  问: 要如何使用 Active Server Pages 程式预防浏览器开启档案时只显示为Frameset的一部份?  问: 如何使用ASP 制作模拟动态生长的表单(form) ?  问: 如何使用ASP利用ADO呼叫SQL的stored procedure?  问: 我的程式中是否能放入Option Explicit?  Option Explicit  Response.Expires = 0  问: 如何在ASP程式中设定session timeout的长短?  问: 如果使用者不接受cookie会发生何种状况?  问: 要如何设定ASP的cache?  问: 当使用了Proxy Server的情况下,Webpage回传一个"Object Moved"的错误,要如何修改  asp程式解决这个问题?  问: 什么时候增加ASP script engine cache,可以帮助运行的效率?  问: 使用 On filesystemobject的 .filecopy 方法,得到以下错误讯息,应该如何处理?  Microsoft VBScript runtime error '800a0046'  Permission denied  问: 如何设计一个page可以对每个登入的使用者提示欢迎的祝贺语如下?  Welcome   问: 是否有可能去读取以及解析在其他site的档案而无须附加其他的元件?  问: 当Access自己web site 下的virtual Directory ,会发生以下的错误讯息,该如何处理?  HTTP/1.1 500 Server Error - (0x800cc801)  问: 为何IIS的Online文件的Index tab没有包含所有的章节?  问: 为何无法在PWS 或是NT Workstation 版的IIS上做搜寻文件?  问: 为何当disable 自动密码同步后,匿名使用者无法进入web site?  问: ASP 1.0有哪几个版本?  问: 发生以下的错误是什么原因?  Microsoft VBScript compilation error '800a0414'  Cannot use parens when calling a Sub  /test/test.asp, line 17  myobj.movefile(fname, sfolder, tfolder)  ---------------------------------------^  问: 要如何强迫 session 关闭?  问: 发生以下的错误是什么原因,要如何解决?  error 'ASP 0115' Unexpected error  /disney/main.asp  A trappable error occurred in an external object. The script cannot continue running.  问: 为何会发生"HTTP Headers already written" 的错误?  问: 使用以Microsoft Visual C++ 写的 server-side 元件如何除错?  问: 当更新了在 wwwroot 目录下的档案,可是一定要重新启动web server才能看到这些档案被更新,是否由caching 所造成的问题?  问: Internet Information Server (IIS) 如何得知要将.asp 档案传递到 Microsoft Active Server Pages (ASP)?  问: 为何会发生奇怪的错误当使用CreateObject 存取元件?  问: 要如何设定Microsoft Internet Information Server (IIS) 让预设网页为default.asp 档案?  问: 当将一个.asp档案放到web server上,当由浏览器读取这个.asp档案时却可以看到整个.asp程式码,有什么不对呢?  问: 哪些作业系统支援执行ASP?  问: 是否能够从一支asp程式呼叫在另一支asp程式的副程式或函数?  问: 是否能够从一支asp程式存取在另一支asp程式的变数?  问: VBScript 是否在Response.Redirect执行后执行?  问: VBScript 是否在Response.End执行后执行?  问: 什么原因会产生错误讯息如下?  Response object error 'ASP 0156' Header Error  /intranet_devel/scripts/CheckLog.asp, line 14  The HTTP headers are already written to the client  browser. Any HTTP header modifications must be made before writing page content.  问: Session变数是否能使用在web farm?  问: 什么原因会产生错误讯息如下?  'ASP 0113'The max amount of time for a script to execute was  exceed, you can change this limit by specifying a  new value for the property server. Script Time out  or by changing the value for Script Time out.  问: 什么原因会产生错误讯息如下?  Microsoft OLE DB Provider for ODBC Drivers error ''  [Microsoft][ODBC sql server Driver][dbnmpntw]ConnectionOpen (CreateFile()).  问: 什么原因会产生错误讯息如下?  Server object error 'ASP 2'  Server.CreateObject Failed [Filename], line [line number]  The call to Server.CreateObject failed. The requested object instance cannot be created.  问: 什么原因会产生错误讯息如下?  Microsoft VBScript runtime error '800a000d'  Type mismatch  问: 什么原因会产生错误讯息如下?  Error ASP 0115 unexpected error.  Trappable error occured in an external object, the script cannot continue running.  问: 什么原因会产生错误讯息如下?  Server object error 'ASP 177:'Server.CreateObject Failed  /aspsamp/tutorial/lessons/Finance.asp, line 52  The call to Server.CreateObject failed. The requested object instance cannot be created.  问: 什么原因会产生错误讯息如下?  Server object error 'ASP 4 'Server.createobject failed  /advworks/equipment/equip.asp, line 2  The call to server.createobject failed The requeted object instance can not be created.  问: 由于cookie的生命周期仅发生在目前的IE session,如果结束IE并且重新启动IE ,这时 cookie就消逝了,应如何控制cookie的使用期限?  问: 如何由client端得知萤幕解析度?  --------------------------------------------------------------------------------  问: 如何将认证使用者储存到Session变数(New)  答: <%  If Session("LOGON_USER") = "" Then  If Request.ServerVariables("LOGON_USER") = "" Then  Response.Status = "401 Access Denied"  Response.End  Else  Session("LOGON_USER") = Request.ServerVariables("LOGON_USER")  ' the following lines strip out an NT domain from the user name  If InStr(Session("LOGON_USER"),"\") then  Session("LOGON_USER") = Right(Session("LOGON_USER"), Len(Session("LOGON_USER")) - InStr(Session("LOGON_USER"),"\"))  End If  End If  End If  问: ServerVariables("LOGON_USER")传回空值(New)  答: 如果ASP page使用"允许匿名存取",则"LOGON_USER"variable将会传回空值。如果要正确显示请将认证模式设为基本验证或整合Windows验证即可。  问: ServerVariables("Remote_Host")传回IP而不是HostName(New)  答: 在预设情况下,ServerVariables("Remote_Host")传回IP,这是设计上的考量,为了要增进IIS的效能,但您仍可藉由修改Metabase,叫IIS去跟DNS做查询,详细请见KB Q245574。  问: CDO版本摘要介绍  答: Library 来源 档名 ProgID  CDO 1.0 Exchange 4.0 Mdlsp.dll  Mdlsp32.dll MAPI  CDO 1.1 Exchange 5.0 OleMsg.dll  OleMsg32.dll MAPI  CDO 1.2 Exchange 5.5  Outlook 98  Outlook 2000  Exchange 2000 Cdo.dll  MAPI  CDO for NTS 1.2 Exchange 5.5  IIS 4.0  MCIS  Windows 2000 CdoNTS.dll  CDONTS  CDO for Windows 2000 (CDO 2.0) Windows 2000 CDosys.dll CDO  CDO for Exchange 2000 (CDO 3.0) Exchange 2000 Cdoex.dll CDO  CDO for Exchange Management 1.0 Exchange 2000 Cdoexm.dll CDOEXM  CDO WorkFlow Objects for Microsoft Exchange 1.0 Exchange 2000 Cdowf.dll CDOWF  问: 何谓ADSI?  答: ADSI是一组存取不同目录服务的介面,这里将会专注在存取Windows 2000 Active Directory directory service. ADSI使用LDAP协定来跟Active Directory沟通。  问: 何谓ADsPath?  答: 当使用程式存取Active Directory时,你必须提供LDAP namespace(progID)和物件的路径(ADsPath),以下是一些ADsPath的范例:  ADSI object ADsPath  Organizational unit in the nwtraders domain LDAP://OU=Sales, DC=nwtraders, DC=msft  Exchange object on Exchange Server LDAP://exch01/O=Microsoft  jsmith user in the Sales OU of the nwtraders domain LDAP://CN=jsmith, OU=Sales, DC=nwtraders, DC=msft  comp1 in the Redmond domain WinNT://REDMOND/comp1, computer  alice, a local user on the comp1 computer WinNT://REDMOND/comp1/alice  问: 如何得到LDAP Root DS Entry?  答: RFC 2251 中规范所有的LDAP directory都必须拥有一个特别内容rootDSE object,其中一个标准的属性叫做defaultNamingContext,在Windows 2000 中,他会回传Active Directory根目录的名称,请见以下范例:  Set Root = GetObject("LDAP://RootDSE")  DomainPath = Root.Get("DefaultNamingContext")  Set Domain = GetObject("LDAP://"& DomainPath)  问: 如何侦测浏览器的属性?  答: 利用MSWC.BrowserType可以侦测到浏览器许多属性,如浏览器名称、版本,是否支援cookies、frames、tables、BackGroundSounds、VBScript、JavaScript等。例如: Set bc = Server.CreateObject("MSWC.BrowserType")  if okies=True then...  问: 如何利用Response.Buffer增进浏览速度?  答: 利用Response.Buffer=True,Response.Flush可以增进使用者浏览速度,如果一个页面 Response.Buffer=False,有30个资料传输,若有100个人浏览此页面,则有 3000个来回传输,严重影响效率;若在起始处设定 Response.Buffer=True,再将整个页面分为几个群组,在设当的地方搭配 Response.Flush,则可大幅改善使用者经验。  问: 如何利用Meta Tag来增加文件属性?  答: 在Meta Tag 中记录着各种要提供给浏览器的隐藏资讯或指示,如          如此可让搜寻引擎或Web Crawler自动进行读取。  问: Server.Transfer和Response.Redirect相异之处?  答: 虽然Server.Transfer和Response.Redirect都会转向,但两者之间仍有些不同:  Response.Redirect是先由伺服器端将资料送到用户端,用户端再依照Redirect内容,向伺服器端要求转向到另一个网页,如此会增加一次用户端与伺服器端来回通讯时间,而Server.Transfer则是在伺服器端直接转向到另一个网页。并且由于Server.Transfer转向前后的网页,仍属同一应用程式,因此会将Session和Application的变数值带到转向后的URL位置,而Response.Redirect不会。  问: Server.Execute和#include相异之处?  答: Execute Method 是呼叫一个.asp 档案并执行它,比较类似一般程式语言的procedure call;而#include则仅将所包含的程式插入原程式当中。  问: 要如何使用ASPError物件?  答: 首先由Set objASPError=Server.GetLastError取得错误资讯,接着由ASPError物件的属性取得相关讯息:  objASPError.ASPCode:传回IIS产生的错误码  objASPError.Number:传回COM标准错误码,如 0x800A03FC  objASPError.Source:传回实际产生错误的原始码  objASPError.Category:指出错误的来源为ASP、Script或是Object  objASPError.File:传回错误程式档案名称  objASPError.Line:传回错误程式码的行数  objASPError.Column:传回错误程式码的列数  objASPError.Description:传回错误原因简介  objASPError.ASPDescription:传回详细错误原因  问: 要如何让以asp程式让Internet Explorer 浏览器不cache?  答: 除了由IIS可设定让Internet Explorer不cache以外,可以用以下的asp script,基本上是使用HTTP header控制cache。  以下script必须执行在HTTP 1.1 server ,适用于Internet Explorer 4.0以上版本。        问: 如何依据浏览器语言版本设定ASP locale ID ?  答: 使用以下的副程式就是依据使用者的浏览器语言,动态设定ASP应用程式 Locale ID  (Session.LCID) 。  Sample ASP Page  ---------------  以下的asp程式展示Locale 的变换,请在浏览器中的Internet 选项,改变语言设定。再refresh 这个 ASP page。  NOTE: The SetLCID() 副程式请include在档案setlcid.inc.      <%  SetLCID 'Set the Locale ID per the browser  Response.Write "Date/Time Formats"  Response.Write "Date = " & Date()  Response.Write "Month = " & Month(Date())  Response.Write "Day = " & Day(Date())  Response.Write "Year = " & Year(Date())  Response.Write "Time = " & Time()  Response.Write "Currency Formats"  Response.Write "" & FormatCurrency(1.05, 2)  Response.Write "" & FormatNumber()  Response.Write "" & FormatNumber(-)  问: 如何使用ASP/ADO query ODBC DATASOURCE?  答: 以下的example仅做测试目的,测试 ADO 连接到任何 ODBC Datasource。  <%  if Request("REQUESTTYPE")
"POST" then  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % 如果request 不包含 REQUESTTYPE = "POST  ' % 则显示 Form Page  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  dsn = Session("dsn")  dbuser = Session("dbuser")  dbpass = Session("dbpass")  dbtable = Session("dbtable")  dbfield = Session("dbfield")  dbwhere = Session("dbwhere")    You are authenticated as:   <% =  Request.ServerVariables("LOGON_USER")%>  Your IP Address is:   <% =  Request.ServerVariables("REMOTE_ADDR")%>  System DSN:  " name=datasource>  Username:  " name=username>  Password:    %>" name=password>  Table:  " name=table>  WHERE    Field to Query:  " name=field>  Value to Query:  " name=where>    <%  else  '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  '% 执行 Query to Database  '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % Request datsource 从之前的Form  ' % 设定 Session 变数因此可以读取这个值作为下次查询使用  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  dsn = Request("datasource")  Session("dsn") = dsn  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % Request username 从之前的Form  ' % 设定 Session 变数因此可以读取这个值作为下次查询使用  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  dbuser = Request("username")  Session("dbuser") = dbuser  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % Request password 从之前的Form  ' % 设定 Session 变数因此可以读取这个值作为下次查询使用  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  dbpass = Request("password")  Session("dbpass") = dbpass  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % Request table 从之前的Form  ' % 设定 Session 变数因此可以读取这个值作为下次查询使用  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  dbtable = Request("table")  Session("dbtable") = dbtable  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % Request field 从之前的Form  ' % 设定 Session 变数因此可以读取这个值作为下次查询使用  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  dbfield = Request("field")  Session("dbfield") = dbfield  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % Request table 从之前的Form  ' % 设定 Session 变数因此可以读取这个值作为下次查询使用  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  dbwhere = Request("where")  Session("dbwhere") = dbwhere  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % 检查是否有任何要求的变数是blank, 如果有会通知使用者何者  ' % 是blank ,反之继续query  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  if dsn = "" OR dbuser = "" OR dbtable = "" then  Response.write "Error in SQL Statement:"  if dsn = "" then  Response.write "Missing System DSN"  end if  if dbuser = "" then  Response.write "Missing Username"  end if  if dbtable = "" then  Response.write "Missing Tablename"  end if  Response.write "  VALUE=ReQuery>"  else  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % 产生 Conn Object ,开启时  ' % 带进参数 System DSN, UserID, Password  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  Set Conn = Server.CreateObject("ADODB.Connection")  Set rs = Server.CreateObject("ADODB.RecordSet")  Conn.Open dsn, dbuser, dbpass  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % 建立 SQL 叙述并指定到变数 sql.  ' $ 连接 dbtable 以及SELECT 叙述  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  if dbfield = "" OR dbwhere ="" then  sql="SELECT * FROM " & dbtable  else  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % 如果 dbfield 和 dbwhere 被定,接着  ' % 改变SQL 叙述使用 WHERE 子句  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  '  sql="SELECT * FROM " & dbtable  sql = sql & " WHERE " & dbfield  sql = sql & " LIKE '%" & dbwhere & "%'"  end if  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' %除错用, 回传 SQL 叙述  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  Response.Write "SQL STATEMENT: " &  sql & ""  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % 开启 RecordSet (RS) 并传到  ' % connection (conn) 和 SQL 叙述 (sql)  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  RS.Open sql, Conn      <%  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % 回圈从 Fields Names ,印出 Field Names  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  For i = 0 to RS.Fields.Count - 1  %>    <%  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % 回圈从 rows, 显示每一个field  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  Do While Not RS.EOF  %>      <%  RS.MoveNext  Loop  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  ' % 确认关闭 Result Set 以及 Connection object  ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  RS.Close  Conn.Close  <%  end if  end if  问: 要如何使用 Active Server Pages 程式预防浏览器开启档案时只显示为Frameset的一部份?  答: 当Web 文件变成frameset的一部份的情形发生,通常是由于不是设计成个别显示,要预防这个情形,可使用ASP 的"Response.Redirect" 和 "Request.ServerVariables" 方重新指向到frameset page。  假设使用以下文件架构:  Frameset Page ()  Frame 1 (frame1.asp)  Frame 2 (frame2.asp)  将以下的程式码放在frame1.asp 或是 frame2.asp 在开头的 tag 之前  <%  If (Request.ServerVariables("HTTP_REFERER") = "") Or _  (Left(Request.ServerVariables("HTTP_REFERER"),42)
_  "") Then  Response.Redirect ""  End If  以下是这个例子的程式码  file:   -----------------          file: Frame1.asp  ----------------  <%  If (Request.ServerVariables("HTTP_REFERER") = "") Or  (Left(Request.ServerVariables("HTTP_REFERER"),42)   "") Then  Response.Redirect ""  End If  In Frame 1.  file: Frame2.asp  ----------------  In Frame 2.  问: 如何使用ASP 制作模拟动态生长的表单(form) ?  答: file: DYNAFORM.ASP      <%  If Request("Action") = "Submit the List" Then  ' Show what was entered.  Response.Write "Here are the Items submitted:"  nItems = Request.Form("Items").Count  For i = 1 To nItems  ' Show submitted Items  Response.Write Request.Form("Items")(i) & ""  Next  Response.Write Request("Item") & ""  Else  ' Create the form from all items. %>  Items:  <%  nItems = Request.Form("Items").Count  For i = 1 To nItems  ' Show previously submitted Items  Response.Write "  Trim(Request.Form("Items")(i)) & """>"  Next  If Request.Form("Item")
"" Then  ' paint a new input box, and store the old Item in Items collection  Response.Write "  Trim(Request.Form("Item")) & """>"  Response.Write "Please enter an Item,"  Response.Write "and submit them one at a time"  Response.Write "by pressing the Add Item button."  Response.Write ""  Else  ' No Item was submitted, don't show an error  Response.Write "Please enter an Item,"  Response.Write "and submit them one at a time"  Response.Write "by pressing the Add Item button."  Response.Write ""  End If    问: 如何使用ASP利用ADO呼叫SQL的stored procedure?  答: 以下有三种方式可做,以下例子是使用command物件呼叫sample stored procedure sp_test,然后这个stored procedure 会接受一个整数值为参数并会回传一个整数值。      方法一是查询data source 的stored procedure的参数,这是较没效率的方式为  <%  Set cn = Server.CreateObject("ADODB.Connection")  Set cmd = Server.CreateObject("mand")  cn.Open "data source name", "userid", "password"  Set cmd.ActiveConnection = cn  mandText = "sp_test"  mandType = adCmdStoredProc  ' Ask the server about the parameters for the stored proc  cmd.Parameters.Refresh  ' Assign a value to the 2nd parameter.  ' Index of 0 represents first parameter.  cmd.Parameters(1) = 11  cmd.Execute  呼叫经由方法一  ReturnValue =     方法二是以宣告stored procedure, 接着直接宣告这个参数  <%  Set cn = Server.CreateObject("ADODB.Connection")  cn.Open "data source name", "userid", "password"  Set cmd = Server.CreateObject("mand")  Set cmd.ActiveConnection = cn  mandText = "sp_test"  mandType = adCmdStoredProc  cmd.Parameters.Append cmd.CreateParameter("RetVal", adInteger, _  adParamReturnValue)  cmd.Parameters.Append cmd.CreateParameter("Param1", adInteger, _  adParamInput)  ' Set value of Param1 of the default collection to 22  cmd("Param1") = 22  cmd.Execute  呼叫经由方法二  ReturnValue =     方法三是最常用的方式,使用标准方式 <%  Set cn = Server.CreateObject("ADODB.Connection")  cn.Open "data source name", "userid", "password"  Set cmd = Server.CreateObject("mand")  Set cmd.ActiveConnection = cn  ' Define the stored procedure's inputs and outputs  ' Question marks act as placeholders for each parameter for the  ' stored procedure  mandText = "{?=call sp_test(?)}"  ' specify parameter info 1 by 1 in the order of the question marks  ' specified when we defined the stored procedure  cmd.Parameters.Append cmd.CreateParameter("RetVal", adInteger, _  adParamReturnValue)  cmd.Parameters.Append cmd.CreateParameter("Param1", adInteger, _  adParamInput)  cmd.Parameters("Param1") = 33  cmd.Execute  呼叫经由方法三  ReturnValue =   问: 我的程式中是否能放入Option Explicit?  Option Explicit  Response.Expires = 0  答: 不可以,Option Explicit是必须以Visual Basic呼叫。  问: 如何在ASP程式中设定session timeout的长短?  答: 举例 Session.timeout=10 (单位为分钟),此功能仅用在ASP 2.0以上版本。  问: 如果使用者不接受cookie会发生何种状况?  答: 这时候,每一个 non cookie hit 都会产生一个新的session,而这个产生的session将是毫无意义的。  问: 要如何设定ASP的cache?  答: 1.进入IIS服务管理员 (MMC)  2.展开Internet Information Server,选择伺服器  3.按滑鼠右键,选property(内容)  4.在Internet Information Server tab 的主要内容选"WWW服务" 并编辑  5.进入后选择"主目录" tab,在应用程式设定项目中按 "设定"  6.进入后选"处理程序选项" tab,就可以看到"指令档快取记忆体" 下有三项可选择  不要快取处理ASP档案  快取处理所有要求的ASP档案  要快取处理的ASP档案的最多数目[ ]  问: 当使用了Proxy Server的情况下,Webpage回传一个"Object Moved"的错误,要如何修改asp程式解决这个问题?  答: <%  response.redirect ....  以下的程式码可以解决Proxy Server发出page moved讯息  <%  response.clear  response.redirect ...  问: 什么时候增加ASP script engine cache,可以帮助运行的效率?  答: 当使用超过30个不同asp pages,就必须增加AspScriptEngineCacheMax 的Metabase 参数值。  问: 使用 On filesystemobject的 .filecopy 方法,得到以下错误讯息,应该如何处理?  Microsoft VBScript runtime error '800a0046'  Permission denied  答: 请确定最后的参数有包含一个反斜线(backslash) ,说明如下  是 "c:\temp\"  而不是 c:\temp"  问: 如何设计一个page可以对每个登入的使用者提示欢迎的祝贺语如下?  Welcome   答: 可利用以下的code  'Store the NT LOGON name minus the doamin name in a session variable  LN = Request.ServerVariables("REMOTE_USER")  Session("NTLogon") = UCase(Right(LN, Len(LN) - InStr(1, LN, "\")))  问: 是否有可能去读取以及解析在其他site的档案而无须附加其他的元件?  答: 可以的,但只有使用Java applet,可以使用 .URLConnection class取得URL的内容,接着再利用其他程式码做解析的工作。  问: 当access自己web site 下的virtual directory ,会发生以下的错误讯息,该如何处理?  HTTP/1.1 500 Server Error - (0x800cc801)  答: 这个错误是产生于 IIS Metabase (放置所有 config data 的地方) 这表示可能部份的data 已经找不到了,举例而言,若是要求access某个Vdir的路径,而实际上并不存在,这个错误就会发生。  问: 为何IIS的Online文件的Index tab没有包含所有的章节?  答: 由于有部份的Online文件是从其他元件取得而不属于IIS,(如SMTP,NNTP),所以并不会被列在主Index。  问: 为何无法在PWS 或是NT Workstation 版的IIS上做搜寻文件?  答: 由于Online文件的搜寻元件的控制是来自于Index Server,而Index Server只工作在NT Server上,因此在Windows 95/98的 PWS或是 NT Workstation的IIS的Online文件上都不会有Index tab  问: 为何当disable 自动密码同步后,匿名使用者无法进入web site?  答: 当建立使用者帐户没有密码,而这个帐户为www以及ftp的匿名使用者帐户,接着enable自动密码同步,此时对NT而言,个密码是有效的。此时我们将着个匿名使用者密码从metabase 中清除,然后disable 自动密码同步,IIS将不会将这个密码再自动放回metabase中。  问: ASP 1.0有哪几个版本?  答: ASP 1.0 是版本1.12.06.0 日期为 12/6/96  ASP 1.0a 是版本 1.13.31  ASP 1.0b 是版本 1.15.14 日期为 3/14/97  ASP 1.0b 另一个hotfix 版本的 asp.dll 是1.17.07  问: 发生以下的错误是什么原因?  Microsoft VBScript compilation error '800a0414'  Cannot use parens when calling a Sub  /test/test.asp, line 17  myobj.movefile(fname, sfolder, tfolder)  ---------------------------------------^  答: 这行命令式包含了关键字Call ,如下  Call myobj.movefile(fname, sfolder, tfolder)  问: 要如何强迫 session 关闭?  答: 使用 Abandon ,如下  Session.Abandon  问: 发生以下的错误事什么原因,要如何解决?  error 'ASP 0115' Unexpected error  /disney/main.asp  A trappable error occurred in an external object. The script cannot continue running.  答: IUSR权限不够所造成的。  给予 IUSR 对WINNT 目录"修改"的权限才能产生 JET ODBC 暂存档。  给予 IUSR 对储存MS Access 档案目录的"读取"权限。  问: 为何会发生"HTTP Headers already written" 的错误?  答: 请在程式码的最上头加上  response.buffer = true  接着加上  response.clear  reponse.redirect "terima.asp"  问: 使用以Microsoft Visual C++ 写的 server-side 元件如何除错?  答: 以 OutputDebugString() 列出文字讯息到除错程式的输出视窗。  问: 当更新了在 wwwroot 目录下的档案,可是一定要重新启动web server才能看到这些档案被更新,是否由caching 所造成的问题?  答: 可能是由长档名所造成的,如果储存长档名档案由16 bit 编辑器如 Windows 3.1 的 Notepad, 或 Edit, 所以若档名 Information.asp 将缩为 Inform~1.asp. 这就是 Active Server Pages (ASP) 无法重新载入档案的原因。  问: Internet Information Server (IIS) 如何得知要将.asp 档案传递到 Microsoft Active Server Pages (ASP)?  答: 藉由registry key 对应到正确的Active Server Pages DLL:  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Script Map  问: 为何会发生奇怪的错误当使用CreateObject 存取元件?  答: 当存取server-side元件时,应该使用Server.CreateObject取代CreateObject 。  问: 要如何设定Microsoft Internet Information Server (IIS) 让预设网页为default.asp 档案?  答: 需要给予这个目录的执行权限,否则必须在META tag 做设定,将浏览器指向包含这个 default.asp档的目录。  问: 当将一个.asp档案放到web server上,当由浏览器读取这个.asp档案时却可以看到整个.asp程式码,有什么不对呢?  答: 以下几个可能的因素  1. 档案忘了给.asp延伸档名。  2. 在IIS设定中,没有给予这个放置.asp档案的目录执行的权限。  3. 用file:C:\wwwroot\myfile.asp 存取.asp档案,请改用    问: 哪些作业系统支援执行ASP?  答: :NT 4.0 Server,MT 4.0 workstation with Peer Web Services,Windows 95 with Personal Web Server,NT 3.51不支援,NT 4.0 MIPS也不支援。  问: 是否能够从一支asp程式呼叫在另一支asp程式的副程式或函数?  答: 由于每一支asp程式是个别被编译而且只存在于当这支asp程式被要求执行,所以必须以include的方式将另一支asp程式加入,当然这时候的这支asp程式就会先将包含有要呼叫的副程式的asp程式include进来,接着编译并且执行。  问: 是否能够从一支asp程式存取在另一支asp程式的变数?  答: 由于每一支asp程式是个别被编译而且只存在于当这支asp程式被要求执行,所以变数只存在于各自的asp。  问: VBScript 是否在Response.Redirect执行后执行?  答: 不可以,VBScript 在Response.Redirect之后不执行。  问: VBScript 是否在Response.End执行后执行?  答: 不可以,VBScript 在Response.End之后不执行,HTML跟着Response.End并法将结果输出到client端,Response.End只是代表叙述这是 End。  问:  Response object error 'ASP 0156' Header Error  /intranet_devel/scripts/CheckLog.asp, line 14  The HTTP headers are already written to the client  browser. Any HTTP header modifications must be made before writing page content.  什么原因会产生上述错误讯息?  答: 这个错误肇因于在更改Response的Header输出 HTML 之前,因此变更Response 的 Header必须是一致的,例如Response.Expires=0,此乃HTTP 协定的限制。  问: Session变数是否能使用在web farm?  答: 不可以,session 变数无法使用在多伺服器的web farm,Session变数是以个别服器为基础,而且若是下一个HTTP的要求是要将之传到另一个伺服器则会被当成没有session 变数。  问: 'ASP 0113'The max amount of time for a script to execute was  exceed, you can change this limit by specifying a  new value for the property server. Script Time out  or by changing the value for Script Time out.  什么原因会产生上述错误讯息?  答: 这个错误可能是发生在有一个无限回路在asp程式码中,可能是recordset.MoveNext 或是其他的。  问:  Microsoft OLE DB Provider for ODBC Drivers error ''  [Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile()).  什么原因会产生上述错误讯息?  答: 这个错误可能是发生在使用NamePipe连接SQLServer,通常是IUSER_MACHINE帐号并不为远端的SQL Server所承认。  问:  Server object error 'ASP 2'  Server.CreateObject Failed [Filename], line [line number]  The call to Server.CreateObject failed. The requested object instance cannot be created.  什么原因会产生上述错误讯息?  答: 这个错误可能是  1. 没有ADODB license key 登录在registry  2. IUSER_MACHINE帐号没有权限阅读这个registry key  问:  Microsoft VBScript runtime error '800a000d'  Type mismatch  什么原因会产生上述错误讯息?  答: 最有可能的的原因是VBS形态不相容,这通常发生在传参数到物件方法。  问:  Error ASP 0115 unexpected error.  Trappable error occured in an external object, the script cannot continue running.  什么原因会产生上述错误讯息?  答: 这是ASP已经抓到一个错误在物件中,这经常常发生,ADO经常丢出这样的错误讯息是当IUSER_MACHINE无法抓到所有需要的ODBC DLL。在所有的ASP0115的错误讯息中,这最常发生。  问:  Server object error 'ASP 177:'Server.CreateObject Failed  /aspsamp/tutorial/lessons/Finance.asp, line 52  The call to Server.CreateObject failed. The requested object instance cannot be created.  什么原因会产生上述错误讯息?  答: 这应该是PROGID 形态错误所造成的。  问:  Server object error 'ASP 4 'Server.createobject failed  /advworks/equipment/equip.asp, line 2  The call to server.createobject failed The requeted object instance can not be created.  什么原因会产生上述错误讯息?  答: 这应该是由于没有这个class在registry中,但也经常发生在IUSER_MACHINE没有适当的权限去登入伺服器。  问: 由于cookie的生命周期仅发生在目前的IE session,如果结束IE并且重新启动IE ,这时 cookie就消逝了,应如何控制cookie的使用期限?  答: 同时设定cookie以及期限,  Response.Cookies("mycookie") = "Y"  Response.Cookies("mycookie").Expires = "December 31, 1999"  问: 如何由client端得知萤幕解析度?  答: 使用server变数,  response.write(request.servervariables("http_ua_pixels"))  这将可以得知使用者的萤幕解析度,不过这适用于使用Netscape浏览器。
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
职称考试题目
招生信息考研政治
网络安全安全设置工具使用手机安全
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&

我要回帖

更多关于 check prop 的文章

 

随机推荐