asp-classic – ASP会话变量:是否与IsEmpty相同?
发布时间:2020-12-16 09:56:17 所属栏目:asp.Net 来源:网络整理
导读:在ASP中,未初始化的Session变量为Empty.我知道检查Session值和删除值的正确方法如下: IF NOT IsEmpty(Session("myVar")) THEN ' Go ahead and use Session("myVar") ... ' Now if we're all done with myVar then remove it: Session.Contents.Remove("myVa
在ASP中,未初始化的Session变量为Empty.我知道检查Session值和删除值的正确方法如下:
IF NOT IsEmpty(Session("myVar")) THEN ' Go ahead and use Session("myVar") ... ' Now if we're all done with myVar then remove it: Session.Contents.Remove("myVar") END IF 我继承了一个代码库,其中Application和Session变量通常在使用后设置为“”“,并且所有值的测试都是以(Sessions(”myVar“)=”“)的形式进行的.当Session变量尚未声明时,此测试似乎有效…或者它可能只是运气不好. 使用与空字符串的比较来测试Session变量是否安全?即,如上所示的正确方法,以下几乎“一样好”? IF Session("myVar") <> "" THEN ' Go ahead and use Session("myVar") ... ' Now if we're all done with myVar then blank it: Session("myVar") = "" END IF 或者我应该重构代码库,以便: >确定是否已设置Session变量的所有测试都是IsEmpty(Session(“myVar”))形式 解决方法
空是一种奇怪的野兽:它同时等于“”和0.严重的是,尝试一下:
dim x,y,z x = Empty y = "" z = 0 Response.Write (x = y) AND (x = z) 它会写出“真实”. 这意味着对Not IsEmpty(myvar)的测试等同于测试myvar<> “”,但IsEmpty(myvar)不等同于myvar =“”.理论上的差异是否会让你感到困扰只是你能回答的问题,但就个人而言,我不会浪费时间在重构上. 如果你决定重构,我建议忘记IsEmpty和IsNull等等,并且只使用& “”黑客“: If Session("myvar") & "" <> "" Then 这将透明地处理Nulls和Empties,而无需编写大量代码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET MVC 4 JSON绑定到视图模型 – 嵌套对象错误
- 如何在asp.net mvc中使用razor viewmodel将c#guid值赋给jav
- asp.net-mvc – 路由:如何在url中隐藏动作名称?
- asp.net – 通过反射获取其getter具有可选值的属性的值
- asp.net – 使用Web Api,SignalR,MVC和OWIN的Ninject
- asp.net – 为动态生成的孙子控件添加PostBackTriggers和As
- 浅谈ASP.NET配置文件加密
- asp.net – 使用“async”(即使它应该完成)作为MVC路由的一
- asp.net-mvc – 文件上传MVC
- asp.net简单生成XML文件的方法
推荐文章
站长推荐
- asp.net-mvc – 如何从ASP.NET MVC VIEWS文件夹访
- ASP.NET Core 依赖注入基本用法
- asp.net-mvc – 在asp.net mvc主页面的导航列表中
- ASP.NET DateTime Picker
- asp.net-mvc – 可靠地处理ASP.NET MVC模型绑定错
- [ASP.NET MVC] 产生一维条码Barcode(Code 39、Co
- asp.net – GridView分页 – 第一,最后,下一个,上
- asp.net-mvc – 为什么实体框架在更新父项时会插
- 如何配置在生产服务器上运行的ASP.NET应用程序?
- 如何在asp.net C#中的SQL Server中以YY格式获取年
热点阅读