日期:2014-05-18  浏览次数:20476 次

??????????????大家帮我看看这个判断是什么意思?????????判断用户权限的
<%if(Session[ "model "].ToString().IndexOf( "01 ")!=-1||Session[ "model "].ToString().IndexOf( "02 ")!=-1||Session[ "model "].ToString().IndexOf( "03 ")!=-1||Session[ "model "].ToString().IndexOf( "04 ")!=-1||Session[ "model "].ToString().IndexOf( "34 ")!=-1||Session[ "model "].ToString().IndexOf( "35 ")!=-1){%>
<A   class= "main "   onfocus= "this.blur() "   onclick= "javascript:switchTab( 'TabPage1 ', 'Tab1 '); "
href= "DataCollection_Frame.aspx "   target= "leftFrame1 "> 数据采集 </A>
<%}else{%>
<A   class= "main "> <FONT   color= "lightgrey "> 数据采集 </FONT> </A>
<%}%>

----------------------------
Session[ "model "].ToString().IndexOf( "01 ")!=-1是什么意思?为什么要不等于-1

------解决方案--------------------
不等于 -1 就是说 Session[ "model "].ToString() 字符串里 包含 "01 " 这个字符串
------解决方案--------------------
A.IndexOf(B)
当A中包含B时,返回B的第一个字符在A里面的位置.
当A不包含B时返回-1;

一般不要写 !=-1 因为容易引起误解,如果你写 > =0 的话就都不误解了.(一般找索引找不到,在其他比如C++或其他各种程序中都是得到一个小于0的数,很可能就是-1,也可能是-255或-65535等等,不过C#是都-1了)

------解决方案--------------------
看下IndexOf()这个方法是什么意思就行了
------解决方案--------------------
-1表示没找到

呵呵,写这段代码的人一定是个搞asp的,只有经常写asp的人 才这么写c#代码

不过貌似这段代码也有问题,都没分隔,你知道035是03 还是35呢?
------解决方案--------------------
不等于 -1 就是说 Session[ "model "].ToString() 字符串里 包含 "01 " 这个字符串


My-Blog地址1:http://www.cnblogs.com/nyzfl
My-Blog地址2: http://blog.csdn.net/nyzfl