日期:2014-05-17  浏览次数:20467 次

这两句是什么意思,高手帮我注解一下
 if (Session["loginName"].ToString().ToLower() != "tsoft")
            ((ImageButton)DataList1.Items[0].FindControl("ImageButton1")).Visible = false;

------解决方案--------------------
如果存在Session["loginName"]中的字符串转换成小写不等于"tsoft"
就在datelist第一行找name="ImageButton1"的图片按钮并把它隐藏
------解决方案--------------------
 if (Session["loginName"].ToString().ToLower() != "tsoft")
 这个语句有隐藏的Bug.若Session["loginName"]过期,即 Session["loginName"]=null时,此语句会抛出异常Object reference not set to an instance of an object. 
最好改成 if (Session["loginName"]!=null&&Session["loginName"].ToString().ToLower() != "tsoft")
------解决方案--------------------
引用:
if (Session["loginName"].ToString().ToLower() != "tsoft")
            ((ImageButton)DataList1.Items[0].FindControl("ImageButton1")).Visible = false;
              
              
      ……

Session["loginName"]:估计是你登录的时候把用户名写入了session,这里检查下它,ToString()是把这个session对象转成字符串,ToLower()是把这个字符串转成小写的。也就是1楼说的登陆用户名的小写。

DataList1.Items[0]表示页面上的id为DataList1的DataList的第一个行,FindControl("ImageButton1")是在这个第一行中寻找id为ImageButton1的ImageButton按钮。前面加了个(ImageButton)是显示的把这个对象转成成ImageButton,最后的Visible = false;让它不可见
------解决方案--------------------
if (Session["loginName"].ToString().ToLower() != "tsoft")
             ((ImageButton)DataList1.Items[0].FindControl("ImageButton1")).Visible = false; 
翻译为:如果登录名转换成小写等于“tsoft”,DataList1控件中第一个节点的“ImageButton1”控件设置为隐藏