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")
------解决方案--------------------------------------------------------
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”控件设置为隐藏