asp-classic – 如何判断ASP中的变量是否已声明
|
让我先说我是 PHP开发人员,而不是ASP开发人员. (我真的希望ASP有isset().)而且我在现场环境中工作,所以我真的没有机会做任何测试. 我发现的所有资源都提出了测试变量存在的不同方法. 这是我正在尝试做的事情: 在某些页面上,我设置了一个变量,其中包含机器人的值< meta>标签: dim dsep_robots dsep_robots = "nofollow,noindex" 所有页面都包含header.asp.在我的头文件中,我想测试dsep_robots是否有值,如果是,则输出该值,否则不输出任何值. 我认为测试dsep_robots是否有值可能如下所示: if not dsep_robots = "" then
'...
end if
PHP中的最佳实践表明,当您使用可能存在或可能不存在的变量时,您应该始终测试if(isset($var)){…}(如果变量不存在,则不会触发通知存在). 在ASP中是否有这样的东西 – 即我是否真的需要测试它是否存在,或者我可以简单地测试它是否有值? 解决方法顺便说一句,你的问题不是关于经典的ASP,而是一个VBScript问题. VBScript可以出现在ASP之外的脚本中.并且编译不是在VBScript中完成的,因为它是一种解释语言.没关系.我认为这里存在一些混淆 – 你的问题似乎与未初始化的变量有关,而不是未声明的变量.对于未声明的变量,请参见下文. 对于未初始化,请尝试功能IsEmpty. dim x x = 1 dim t Response.write isempty(x) Response.write "<br>" Response.write isempty(t) 将显示: 假 真正 检测未声明的变量 如果在标头中包含Option Explicit,则使用未声明的变量将导致运行时错误.如果您的脚本不是Option Explicit,它将不会生成错误,并且没有函数可以告诉您是否已声明变量.这听起来很草率,但它是故意的. 唯一可以解决此问题的方法是实际设置Option Explicit,然后捕获当您尝试使用未声明的变量时将获得的错误.如果您捕获此特定错误,您会发现它具有Err.Number = 500.因此,以下将执行您想要的操作: Option Explicit
dim x
On Error Resume Next
Response.Write dsep_robots
If Err.Number > 0 Then
Response.Write Err.Number
end if
当然,如果您设置Option Explicit并且您的代码充满了未声明的变量,那么您将会在整个地方抛出错误,因此您需要在代码顶部设置On Error Resume Next以便您可以成功忽略它,只在你想要的时候捕获它. 顺便说一句,这是微软在线参考VBScript: http://msdn.microsoft.com/en-us/library/d1wf56tt(v=VS.85).aspx (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – EditorFor()和additionalViewData:如何在h
- asp.net – 如何添加验证到我的POCO(模板)类
- asp.net – 在实体框架中使用PersianCalendar作为表列的正确
- asp.net – 如何通过代码显示无
- asp.net-mvc – ASP.NET MVC 4移动显示模式停止工作
- asp.net-mvc – 在ASP.Net MVC中,如何创建将javascript和cs
- 将ASP.NET验证与JQuery相结合的优雅方式
- ASP.NET Ajax回发突然停止在IPhone / IPad上
- ASP.NET MVC:将自定义属性放入选择列表中的选项标签
- 无法在asp.net中的webmethod中获取会话
- asp.net – 页面加载在Firefox上触发两次
- asp.net – Page_ClientValidate()与多个Validat
- asp.net-mvc – 404 Asp.Net中的Http错误处理程序
- asp.net – 在模板化控件中实现级联DropDownList
- asp.net-mvc – Razor模板,views和angular.js
- asp.net-mvc-3 – 当两个网格位于同一页面时进行
- asp.net – 带有MVC 4.0的DotNetOpenAuth
- 通过asp.net中的C#将参数传递给CRYSTAL REPORT
- asp.net-mvc-3 – ASP.NET MVC3从https重定向到h
- asp.net – 缓存特定的Javascript和CSS文件
