0

我使用下面的代码在页面加载时隐藏模板字段 Imagebutton 但它不起作用,在此先感谢:

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
            Dim ImageButton1 As ImageButton = DirectCast(GridView1.FindControl("ImageButton1"), ImageButton)
            If User.Identity.Name.Substring(InStr(User.Identity.Name, "\")).ToUpper = "User1" Then
                ImageButton1.Visible = False
            End If
        End Sub
4

1 回答 1

0

假设你有binding grid before and it has rows. 在某行网格中查找 ImageButton 而不是在 gridview 中查找。您所拥有的if条件似乎永远不会成立,因为您正在将 ToUpper 之后的字符串与不是大写的字符串进行比较,Change User1 to USER1因为您正在使用 ToUpper。

改变

 Dim ImageButton1 As ImageButton = DirectCast(GridView1.FindControl("ImageButton1"), ImageButton) 
 If User.Identity.Name.Substring(InStr(User.Identity.Name, "\")).ToUpper = "User1" Then
            ImageButton1.Visible = False
 End If

   Dim ImageButton1 As ImageButton = DirectCast(GridView1.Rows(0).FindControl("ImageButton1"), ImageButton)
 If User.Identity.Name.Substring(InStr(User.Identity.Name, "\")).ToUpper = "USER1" Then
       ImageButton1.Visible = False
 End If

循环迭代整个网格

For Each row As GridViewRow In GridView1.Rows
 Dim ImageButton1 As ImageButton = DirectCast(row.FindControl("ImageButton1"), ImageButton)
     If User.Identity.Name.Substring(InStr(User.Identity.Name, "\")).ToUpper = "USER1" Then
           ImageButton1.Visible = False
     End If
Next
于 2012-08-01T16:29:16.247 回答